]> err.no Git - linux-2.6/blobdiff - net/ipv4/multipath_wrandom.c
Merge with master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
[linux-2.6] / net / ipv4 / multipath_wrandom.c
index 10b23e1bece663bd8a9317f980b30ec0df7f0a11..bd7d75b6abe0a6a7e1ed63d78b5d18becf3eb961 100644 (file)
@@ -31,6 +31,7 @@
 #include <linux/igmp.h>
 #include <linux/proc_fs.h>
 #include <linux/seq_file.h>
+#include <linux/module.h>
 #include <linux/mroute.h>
 #include <linux/init.h>
 #include <net/ip.h>
@@ -172,7 +173,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 +245,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 +266,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;
@@ -342,3 +343,4 @@ static void __exit wrandom_exit(void)
 
 module_init(wrandom_init);
 module_exit(wrandom_exit);
+MODULE_LICENSE("GPL");