aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--net/xfrm/xfrm_hash.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/net/xfrm/xfrm_hash.c b/net/xfrm/xfrm_hash.c
index 55ab5792af56..a2023ec52329 100644
--- a/net/xfrm/xfrm_hash.c
+++ b/net/xfrm/xfrm_hash.c
@@ -17,17 +17,14 @@ struct hlist_head *xfrm_hash_alloc(unsigned int sz)
17 struct hlist_head *n; 17 struct hlist_head *n;
18 18
19 if (sz <= PAGE_SIZE) 19 if (sz <= PAGE_SIZE)
20 n = kmalloc(sz, GFP_KERNEL); 20 n = kzalloc(sz, GFP_KERNEL);
21 else if (hashdist) 21 else if (hashdist)
22 n = __vmalloc(sz, GFP_KERNEL, PAGE_KERNEL); 22 n = __vmalloc(sz, GFP_KERNEL | __GFP_ZERO, PAGE_KERNEL);
23 else 23 else
24 n = (struct hlist_head *) 24 n = (struct hlist_head *)
25 __get_free_pages(GFP_KERNEL | __GFP_NOWARN, 25 __get_free_pages(GFP_KERNEL | __GFP_NOWARN | __GFP_ZERO,
26 get_order(sz)); 26 get_order(sz));
27 27
28 if (n)
29 memset(n, 0, sz);
30
31 return n; 28 return n;
32} 29}
33 30