diff options
| author | Eric Dumazet <dada1@cosmosbay.com> | 2007-12-11 05:09:47 -0500 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2008-01-28 17:57:06 -0500 |
| commit | ea72912c888661d1a847f1b1450643d4114097cf (patch) | |
| tree | de938be7d4887f974f67b09fbae6942726839bb8 /net/netlink | |
| parent | 64b7d96167977850f4a24e52dd0a76b03c6542cf (diff) | |
[NETLINK]: kzalloc() conversion
nl_pid_hash_alloc() is renamed to nl_pid_hash_zalloc().
It is now returning zeroed memory to its callers.
Signed-off-by: Eric Dumazet <dada1@cosmosbay.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/netlink')
| -rw-r--r-- | net/netlink/af_netlink.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/net/netlink/af_netlink.c b/net/netlink/af_netlink.c index 2e02b19e4552..dbd7cad1c9a9 100644 --- a/net/netlink/af_netlink.c +++ b/net/netlink/af_netlink.c | |||
| @@ -237,13 +237,14 @@ found: | |||
| 237 | return sk; | 237 | return sk; |
| 238 | } | 238 | } |
| 239 | 239 | ||
| 240 | static inline struct hlist_head *nl_pid_hash_alloc(size_t size) | 240 | static inline struct hlist_head *nl_pid_hash_zalloc(size_t size) |
| 241 | { | 241 | { |
| 242 | if (size <= PAGE_SIZE) | 242 | if (size <= PAGE_SIZE) |
| 243 | return kmalloc(size, GFP_ATOMIC); | 243 | return kzalloc(size, GFP_ATOMIC); |
| 244 | else | 244 | else |
| 245 | return (struct hlist_head *) | 245 | return (struct hlist_head *) |
| 246 | __get_free_pages(GFP_ATOMIC, get_order(size)); | 246 | __get_free_pages(GFP_ATOMIC | __GFP_ZERO, |
| 247 | get_order(size)); | ||
| 247 | } | 248 | } |
| 248 | 249 | ||
| 249 | static inline void nl_pid_hash_free(struct hlist_head *table, size_t size) | 250 | static inline void nl_pid_hash_free(struct hlist_head *table, size_t size) |
| @@ -272,11 +273,10 @@ static int nl_pid_hash_rehash(struct nl_pid_hash *hash, int grow) | |||
| 272 | size *= 2; | 273 | size *= 2; |
| 273 | } | 274 | } |
| 274 | 275 | ||
| 275 | table = nl_pid_hash_alloc(size); | 276 | table = nl_pid_hash_zalloc(size); |
| 276 | if (!table) | 277 | if (!table) |
| 277 | return 0; | 278 | return 0; |
| 278 | 279 | ||
| 279 | memset(table, 0, size); | ||
| 280 | otable = hash->table; | 280 | otable = hash->table; |
| 281 | hash->table = table; | 281 | hash->table = table; |
| 282 | hash->mask = mask; | 282 | hash->mask = mask; |
| @@ -1919,7 +1919,7 @@ static int __init netlink_proto_init(void) | |||
| 1919 | for (i = 0; i < MAX_LINKS; i++) { | 1919 | for (i = 0; i < MAX_LINKS; i++) { |
| 1920 | struct nl_pid_hash *hash = &nl_table[i].hash; | 1920 | struct nl_pid_hash *hash = &nl_table[i].hash; |
| 1921 | 1921 | ||
| 1922 | hash->table = nl_pid_hash_alloc(1 * sizeof(*hash->table)); | 1922 | hash->table = nl_pid_hash_zalloc(1 * sizeof(*hash->table)); |
| 1923 | if (!hash->table) { | 1923 | if (!hash->table) { |
| 1924 | while (i-- > 0) | 1924 | while (i-- > 0) |
| 1925 | nl_pid_hash_free(nl_table[i].hash.table, | 1925 | nl_pid_hash_free(nl_table[i].hash.table, |
| @@ -1927,7 +1927,6 @@ static int __init netlink_proto_init(void) | |||
| 1927 | kfree(nl_table); | 1927 | kfree(nl_table); |
| 1928 | goto panic; | 1928 | goto panic; |
| 1929 | } | 1929 | } |
| 1930 | memset(hash->table, 0, 1 * sizeof(*hash->table)); | ||
| 1931 | hash->max_shift = order; | 1930 | hash->max_shift = order; |
| 1932 | hash->shift = 0; | 1931 | hash->shift = 0; |
| 1933 | hash->mask = 0; | 1932 | hash->mask = 0; |
