提交 60d53065 编写于 作者: P Patrick McHardy 提交者: David S. Miller

[IPV4]: multipath_wrandom.c GPF fixes

multipath_wrandom needs to use GFP_ATOMIC.
Signed-off-by: NPatrick McHardy <kaber@trash.net>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 3ef4e9a8
...@@ -172,7 +172,7 @@ static void wrandom_select_route(const struct flowi *flp, ...@@ -172,7 +172,7 @@ static void wrandom_select_route(const struct flowi *flp,
multipath_comparekeys(&rt->fl, flp)) { multipath_comparekeys(&rt->fl, flp)) {
struct multipath_candidate* mpc = struct multipath_candidate* mpc =
(struct multipath_candidate*) (struct multipath_candidate*)
kmalloc(size_mpc, GFP_KERNEL); kmalloc(size_mpc, GFP_ATOMIC);
if (!mpc) if (!mpc)
return; return;
...@@ -244,7 +244,7 @@ static void wrandom_set_nhinfo(__u32 network, ...@@ -244,7 +244,7 @@ static void wrandom_set_nhinfo(__u32 network,
if (!target_route) { if (!target_route) {
const size_t size_rt = sizeof(struct multipath_route); const size_t size_rt = sizeof(struct multipath_route);
target_route = (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->gw = nh->nh_gw;
target_route->oif = nh->nh_oif; target_route->oif = nh->nh_oif;
...@@ -265,7 +265,7 @@ static void wrandom_set_nhinfo(__u32 network, ...@@ -265,7 +265,7 @@ static void wrandom_set_nhinfo(__u32 network,
if (!target_dest) { if (!target_dest) {
const size_t size_dst = sizeof(struct multipath_dest); const size_t size_dst = sizeof(struct multipath_dest);
target_dest = (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->nh_info = nh;
target_dest->network = network; target_dest->network = network;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册