[IPV4]: multipath_wrandom.c GPF fixes
authorPatrick McHardy <kaber@trash.net>
Thu, 5 May 2005 21:30:15 +0000 (14:30 -0700)
committerDavid S. Miller <davem@davemloft.net>
Thu, 5 May 2005 21:30:15 +0000 (14:30 -0700)
multipath_wrandom needs to use GFP_ATOMIC.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/multipath_wrandom.c

index 10b23e1bece663bd8a9317f980b30ec0df7f0a11..c3d2ca1a6781513bc7b2524aad96f61e7a4053a6 100644 (file)
@@ -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;