mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 12:28:41 +08:00
[IPV4]: multipath_wrandom.c GPF fixes
multipath_wrandom needs to use GFP_ATOMIC. Signed-off-by: Patrick McHardy <kaber@trash.net> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
3ef4e9a8db
commit
60d5306553
@ -172,7 +172,7 @@ static void wrandom_select_route(const struct flowi *flp,
|
||||
multipath_comparekeys(&rt->fl, flp)) {
|
||||
struct multipath_candidate* mpc =
|
||||
(struct multipath_candidate*)
|
||||
kmalloc(size_mpc, GFP_KERNEL);
|
||||
kmalloc(size_mpc, GFP_ATOMIC);
|
||||
|
||||
if (!mpc)
|
||||
return;
|
||||
@ -244,7 +244,7 @@ static void wrandom_set_nhinfo(__u32 network,
|
||||
if (!target_route) {
|
||||
const size_t size_rt = sizeof(struct multipath_route);
|
||||
target_route = (struct multipath_route *)
|
||||
kmalloc(size_rt, GFP_KERNEL);
|
||||
kmalloc(size_rt, GFP_ATOMIC);
|
||||
|
||||
target_route->gw = nh->nh_gw;
|
||||
target_route->oif = nh->nh_oif;
|
||||
@ -265,7 +265,7 @@ static void wrandom_set_nhinfo(__u32 network,
|
||||
if (!target_dest) {
|
||||
const size_t size_dst = sizeof(struct multipath_dest);
|
||||
target_dest = (struct multipath_dest*)
|
||||
kmalloc(size_dst, GFP_KERNEL);
|
||||
kmalloc(size_dst, GFP_ATOMIC);
|
||||
|
||||
target_dest->nh_info = nh;
|
||||
target_dest->network = network;
|
||||
|
Loading…
Reference in New Issue
Block a user