aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoonwoo Park <joonwpark81@gmail.com>2007-11-26 10:31:24 -0500
committerDavid S. Miller <davem@davemloft.net>2008-01-28 17:55:07 -0500
commit3015a347dcd470fcc8becf1f84b0502391a3c0e0 (patch)
tree356c6a9ef7ea19fed6621c54bbe13ac83f9a9ff2
parent88f8349164cf4035e63db9e6f484e0ce9cb17e47 (diff)
[IPV4] fib_hash: kmalloc + memset conversion to kzalloc
fib_hash: kmalloc + memset conversion to kzalloc fix to avoid memset entirely. Signed-off-by: Joonwoo Park <joonwpark81@gmail.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--net/ipv4/fib_hash.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/net/ipv4/fib_hash.c b/net/ipv4/fib_hash.c
index 0dfee27cfbcd..eb1aa8eead09 100644
--- a/net/ipv4/fib_hash.c
+++ b/net/ipv4/fib_hash.c
@@ -102,10 +102,10 @@ static struct hlist_head *fz_hash_alloc(int divisor)
102 unsigned long size = divisor * sizeof(struct hlist_head); 102 unsigned long size = divisor * sizeof(struct hlist_head);
103 103
104 if (size <= PAGE_SIZE) { 104 if (size <= PAGE_SIZE) {
105 return kmalloc(size, GFP_KERNEL); 105 return kzalloc(size, GFP_KERNEL);
106 } else { 106 } else {
107 return (struct hlist_head *) 107 return (struct hlist_head *)
108 __get_free_pages(GFP_KERNEL, get_order(size)); 108 __get_free_pages(GFP_KERNEL | __GFP_ZERO, get_order(size));
109 } 109 }
110} 110}
111 111
@@ -174,8 +174,6 @@ static void fn_rehash_zone(struct fn_zone *fz)
174 ht = fz_hash_alloc(new_divisor); 174 ht = fz_hash_alloc(new_divisor);
175 175
176 if (ht) { 176 if (ht) {
177 memset(ht, 0, new_divisor * sizeof(struct hlist_head));
178
179 write_lock_bh(&fib_hash_lock); 177 write_lock_bh(&fib_hash_lock);
180 old_ht = fz->fz_hash; 178 old_ht = fz->fz_hash;
181 fz->fz_hash = ht; 179 fz->fz_hash = ht;
@@ -219,7 +217,6 @@ fn_new_zone(struct fn_hash *table, int z)
219 kfree(fz); 217 kfree(fz);
220 return NULL; 218 return NULL;
221 } 219 }
222 memset(fz->fz_hash, 0, fz->fz_divisor * sizeof(struct hlist_head *));
223 fz->fz_order = z; 220 fz->fz_order = z;
224 fz->fz_mask = inet_make_mask(z); 221 fz->fz_mask = inet_make_mask(z);
225 222