From: Andrew Morton <akpm@osdl.org>
To: "Paolo 'Blaisorblade' Giarrusso" <blaisorblade@yahoo.it>
Cc: linux-kernel@vger.kernel.org
Subject: Re: [PATCH] kzalloc: use in alloc_netdev
Date: Thu, 6 Apr 2006 22:52:32 -0700 [thread overview]
Message-ID: <20060406225232.660e8251.akpm@osdl.org> (raw)
In-Reply-To: <20060407053204.11316.44763.stgit@zion.home.lan>
"Paolo 'Blaisorblade' Giarrusso" <blaisorblade@yahoo.it> wrote:
>
> Noticed this use, fixed it.
OK, but I think that if we're going to make conversions like this it's best
to do it in decent-sized chunks, just to keep the patch volume down.
umm,
net/core/dev.c | 3 +--
net/core/dv.c | 5 +----
net/core/flow.c | 4 +---
net/core/gen_estimator.c | 3 +--
net/core/neighbour.c | 14 ++++----------
net/core/request_sock.c | 4 +---
6 files changed, 9 insertions(+), 24 deletions(-)
diff -puN net/core/dev.c~net-kzalloc-conversion net/core/dev.c
--- devel/net/core/dev.c~net-kzalloc-conversion 2006-04-06 22:50:24.000000000 -0700
+++ devel-akpm/net/core/dev.c 2006-04-06 22:50:24.000000000 -0700
@@ -3100,12 +3100,11 @@ struct net_device *alloc_netdev(int size
alloc_size = (sizeof(*dev) + NETDEV_ALIGN_CONST) & ~NETDEV_ALIGN_CONST;
alloc_size += sizeof_priv + NETDEV_ALIGN_CONST;
- p = kmalloc(alloc_size, GFP_KERNEL);
+ p = kzalloc(alloc_size, GFP_KERNEL);
if (!p) {
printk(KERN_ERR "alloc_dev: Unable to allocate device.\n");
return NULL;
}
- memset(p, 0, alloc_size);
dev = (struct net_device *)
(((long)p + NETDEV_ALIGN_CONST) & ~NETDEV_ALIGN_CONST);
diff -puN net/core/dv.c~net-kzalloc-conversion net/core/dv.c
--- devel/net/core/dv.c~net-kzalloc-conversion 2006-04-06 22:50:24.000000000 -0700
+++ devel-akpm/net/core/dv.c 2006-04-06 22:50:24.000000000 -0700
@@ -55,15 +55,12 @@ int alloc_divert_blk(struct net_device *
dev->divert = NULL;
if (dev->type == ARPHRD_ETHER) {
- dev->divert = (struct divert_blk *)
- kmalloc(alloc_size, GFP_KERNEL);
+ dev->divert = kzalloc(alloc_size, GFP_KERNEL);
if (dev->divert == NULL) {
printk(KERN_INFO "divert: unable to allocate divert_blk for %s\n",
dev->name);
return -ENOMEM;
}
-
- memset(dev->divert, 0, sizeof(struct divert_blk));
dev_hold(dev);
}
diff -puN net/core/flow.c~net-kzalloc-conversion net/core/flow.c
--- devel/net/core/flow.c~net-kzalloc-conversion 2006-04-06 22:50:24.000000000 -0700
+++ devel-akpm/net/core/flow.c 2006-04-06 22:50:24.000000000 -0700
@@ -318,12 +318,10 @@ static void __devinit flow_cache_cpu_pre
/* NOTHING */;
flow_table(cpu) = (struct flow_cache_entry **)
- __get_free_pages(GFP_KERNEL, order);
+ __get_free_pages(GFP_KERNEL|__GFP_ZERO, order);
if (!flow_table(cpu))
panic("NET: failed to allocate flow cache order %lu\n", order);
- memset(flow_table(cpu), 0, PAGE_SIZE << order);
-
flow_hash_rnd_recalc(cpu) = 1;
flow_count(cpu) = 0;
diff -puN net/core/gen_estimator.c~net-kzalloc-conversion net/core/gen_estimator.c
--- devel/net/core/gen_estimator.c~net-kzalloc-conversion 2006-04-06 22:50:24.000000000 -0700
+++ devel-akpm/net/core/gen_estimator.c 2006-04-06 22:50:24.000000000 -0700
@@ -159,11 +159,10 @@ int gen_new_estimator(struct gnet_stats_
if (parm->interval < -2 || parm->interval > 3)
return -EINVAL;
- est = kmalloc(sizeof(*est), GFP_KERNEL);
+ est = kzalloc(sizeof(*est), GFP_KERNEL);
if (est == NULL)
return -ENOBUFS;
- memset(est, 0, sizeof(*est));
est->interval = parm->interval + 2;
est->bstats = bstats;
est->rate_est = rate_est;
diff -puN net/core/neighbour.c~net-kzalloc-conversion net/core/neighbour.c
--- devel/net/core/neighbour.c~net-kzalloc-conversion 2006-04-06 22:50:24.000000000 -0700
+++ devel-akpm/net/core/neighbour.c 2006-04-06 22:50:24.000000000 -0700
@@ -284,14 +284,11 @@ static struct neighbour **neigh_hash_all
struct neighbour **ret;
if (size <= PAGE_SIZE) {
- ret = kmalloc(size, GFP_ATOMIC);
+ ret = kzalloc(size, GFP_ATOMIC);
} else {
ret = (struct neighbour **)
- __get_free_pages(GFP_ATOMIC, get_order(size));
+ __get_free_pages(GFP_ATOMIC|__GFP_ZERO, get_order(size));
}
- if (ret)
- memset(ret, 0, size);
-
return ret;
}
@@ -1089,8 +1086,7 @@ static void neigh_hh_init(struct neighbo
if (hh->hh_type == protocol)
break;
- if (!hh && (hh = kmalloc(sizeof(*hh), GFP_ATOMIC)) != NULL) {
- memset(hh, 0, sizeof(struct hh_cache));
+ if (!hh && (hh = kzalloc(sizeof(*hh), GFP_ATOMIC)) != NULL) {
rwlock_init(&hh->hh_lock);
hh->hh_type = protocol;
atomic_set(&hh->hh_refcnt, 0);
@@ -1366,13 +1362,11 @@ void neigh_table_init(struct neigh_table
tbl->hash_buckets = neigh_hash_alloc(tbl->hash_mask + 1);
phsize = (PNEIGH_HASHMASK + 1) * sizeof(struct pneigh_entry *);
- tbl->phash_buckets = kmalloc(phsize, GFP_KERNEL);
+ tbl->phash_buckets = kzalloc(phsize, GFP_KERNEL);
if (!tbl->hash_buckets || !tbl->phash_buckets)
panic("cannot allocate neighbour cache hashes");
- memset(tbl->phash_buckets, 0, phsize);
-
get_random_bytes(&tbl->hash_rnd, sizeof(tbl->hash_rnd));
rwlock_init(&tbl->lock);
diff -puN net/core/request_sock.c~net-kzalloc-conversion net/core/request_sock.c
--- devel/net/core/request_sock.c~net-kzalloc-conversion 2006-04-06 22:50:24.000000000 -0700
+++ devel-akpm/net/core/request_sock.c 2006-04-06 22:50:24.000000000 -0700
@@ -38,13 +38,11 @@ int reqsk_queue_alloc(struct request_soc
{
const int lopt_size = sizeof(struct listen_sock) +
nr_table_entries * sizeof(struct request_sock *);
- struct listen_sock *lopt = kmalloc(lopt_size, GFP_KERNEL);
+ struct listen_sock *lopt = kzalloc(lopt_size, GFP_KERNEL);
if (lopt == NULL)
return -ENOMEM;
- memset(lopt, 0, lopt_size);
-
for (lopt->max_qlen_log = 6;
(1 << lopt->max_qlen_log) < sysctl_max_syn_backlog;
lopt->max_qlen_log++);
_
next prev parent reply other threads:[~2006-04-07 5:53 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-04-07 5:32 Paolo 'Blaisorblade' Giarrusso
2006-04-07 5:38 ` David S. Miller
2006-04-07 5:52 ` Andrew Morton [this message]
2006-04-07 21:53 ` David S. Miller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20060406225232.660e8251.akpm@osdl.org \
--to=akpm@osdl.org \
--cc=blaisorblade@yahoo.it \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®