[IPV6]: Nearly complete kzalloc cleanup for net/ipv6

Stupidly use kzalloc() instead of kmalloc()/memset()
everywhere where this is possible in net/ipv6/*.c .

Signed-off-by: Ingo Oeser <ioe-lkml@rameria.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Ingo Oeser 2006-03-20 23:01:32 -08:00 committed by David S. Miller
parent 78c784c47a
commit 0c600eda4b
8 changed files with 16 additions and 31 deletions

View File

@ -354,12 +354,10 @@ static int ah6_init_state(struct xfrm_state *x)
if (x->encap) if (x->encap)
goto error; goto error;
ahp = kmalloc(sizeof(*ahp), GFP_KERNEL); ahp = kzalloc(sizeof(*ahp), GFP_KERNEL);
if (ahp == NULL) if (ahp == NULL)
return -ENOMEM; return -ENOMEM;
memset(ahp, 0, sizeof(*ahp));
ahp->key = x->aalg->alg_key; ahp->key = x->aalg->alg_key;
ahp->key_len = (x->aalg->alg_key_len+7)/8; ahp->key_len = (x->aalg->alg_key_len+7)/8;
ahp->tfm = crypto_alloc_tfm(x->aalg->alg_name, 0); ahp->tfm = crypto_alloc_tfm(x->aalg->alg_name, 0);

View File

@ -308,7 +308,7 @@ int ipv6_dev_ac_inc(struct net_device *dev, struct in6_addr *addr)
* not found: create a new one. * not found: create a new one.
*/ */
aca = kmalloc(sizeof(struct ifacaddr6), GFP_ATOMIC); aca = kzalloc(sizeof(struct ifacaddr6), GFP_ATOMIC);
if (aca == NULL) { if (aca == NULL) {
err = -ENOMEM; err = -ENOMEM;
@ -322,8 +322,6 @@ int ipv6_dev_ac_inc(struct net_device *dev, struct in6_addr *addr)
goto out; goto out;
} }
memset(aca, 0, sizeof(struct ifacaddr6));
ipv6_addr_copy(&aca->aca_addr, addr); ipv6_addr_copy(&aca->aca_addr, addr);
aca->aca_idev = idev; aca->aca_idev = idev;
aca->aca_rt = rt; aca->aca_rt = rt;
@ -550,7 +548,7 @@ static int ac6_seq_open(struct inode *inode, struct file *file)
{ {
struct seq_file *seq; struct seq_file *seq;
int rc = -ENOMEM; int rc = -ENOMEM;
struct ac6_iter_state *s = kmalloc(sizeof(*s), GFP_KERNEL); struct ac6_iter_state *s = kzalloc(sizeof(*s), GFP_KERNEL);
if (!s) if (!s)
goto out; goto out;
@ -561,7 +559,6 @@ static int ac6_seq_open(struct inode *inode, struct file *file)
seq = file->private_data; seq = file->private_data;
seq->private = s; seq->private = s;
memset(s, 0, sizeof(*s));
out: out:
return rc; return rc;
out_kfree: out_kfree:

View File

@ -305,12 +305,10 @@ static int esp6_init_state(struct xfrm_state *x)
if (x->encap) if (x->encap)
goto error; goto error;
esp = kmalloc(sizeof(*esp), GFP_KERNEL); esp = kzalloc(sizeof(*esp), GFP_KERNEL);
if (esp == NULL) if (esp == NULL)
return -ENOMEM; return -ENOMEM;
memset(esp, 0, sizeof(*esp));
if (x->aalg) { if (x->aalg) {
struct xfrm_algo_desc *aalg_desc; struct xfrm_algo_desc *aalg_desc;

View File

@ -287,10 +287,9 @@ fl_create(struct in6_flowlabel_req *freq, char __user *optval, int optlen, int *
int err; int err;
err = -ENOMEM; err = -ENOMEM;
fl = kmalloc(sizeof(*fl), GFP_KERNEL); fl = kzalloc(sizeof(*fl), GFP_KERNEL);
if (fl == NULL) if (fl == NULL)
goto done; goto done;
memset(fl, 0, sizeof(*fl));
olen = optlen - CMSG_ALIGN(sizeof(*freq)); olen = optlen - CMSG_ALIGN(sizeof(*freq));
if (olen > 0) { if (olen > 0) {
@ -663,7 +662,7 @@ static int ip6fl_seq_open(struct inode *inode, struct file *file)
{ {
struct seq_file *seq; struct seq_file *seq;
int rc = -ENOMEM; int rc = -ENOMEM;
struct ip6fl_iter_state *s = kmalloc(sizeof(*s), GFP_KERNEL); struct ip6fl_iter_state *s = kzalloc(sizeof(*s), GFP_KERNEL);
if (!s) if (!s)
goto out; goto out;
@ -674,7 +673,6 @@ static int ip6fl_seq_open(struct inode *inode, struct file *file)
seq = file->private_data; seq = file->private_data;
seq->private = s; seq->private = s;
memset(s, 0, sizeof(*s));
out: out:
return rc; return rc;
out_kfree: out_kfree:

View File

@ -428,11 +428,10 @@ static int ipcomp6_init_state(struct xfrm_state *x)
goto out; goto out;
err = -ENOMEM; err = -ENOMEM;
ipcd = kmalloc(sizeof(*ipcd), GFP_KERNEL); ipcd = kzalloc(sizeof(*ipcd), GFP_KERNEL);
if (!ipcd) if (!ipcd)
goto out; goto out;
memset(ipcd, 0, sizeof(*ipcd));
x->props.header_len = 0; x->props.header_len = 0;
if (x->props.mode) if (x->props.mode)
x->props.header_len += sizeof(struct ipv6hdr); x->props.header_len += sizeof(struct ipv6hdr);

View File

@ -767,10 +767,10 @@ static void mld_add_delrec(struct inet6_dev *idev, struct ifmcaddr6 *im)
* for deleted items allows change reports to use common code with * for deleted items allows change reports to use common code with
* non-deleted or query-response MCA's. * non-deleted or query-response MCA's.
*/ */
pmc = kmalloc(sizeof(*pmc), GFP_ATOMIC); pmc = kzalloc(sizeof(*pmc), GFP_ATOMIC);
if (!pmc) if (!pmc)
return; return;
memset(pmc, 0, sizeof(*pmc));
spin_lock_bh(&im->mca_lock); spin_lock_bh(&im->mca_lock);
spin_lock_init(&pmc->mca_lock); spin_lock_init(&pmc->mca_lock);
pmc->idev = im->idev; pmc->idev = im->idev;
@ -893,7 +893,7 @@ int ipv6_dev_mc_inc(struct net_device *dev, struct in6_addr *addr)
* not found: create a new one. * not found: create a new one.
*/ */
mc = kmalloc(sizeof(struct ifmcaddr6), GFP_ATOMIC); mc = kzalloc(sizeof(struct ifmcaddr6), GFP_ATOMIC);
if (mc == NULL) { if (mc == NULL) {
write_unlock_bh(&idev->lock); write_unlock_bh(&idev->lock);
@ -901,7 +901,6 @@ int ipv6_dev_mc_inc(struct net_device *dev, struct in6_addr *addr)
return -ENOMEM; return -ENOMEM;
} }
memset(mc, 0, sizeof(struct ifmcaddr6));
init_timer(&mc->mca_timer); init_timer(&mc->mca_timer);
mc->mca_timer.function = igmp6_timer_handler; mc->mca_timer.function = igmp6_timer_handler;
mc->mca_timer.data = (unsigned long) mc; mc->mca_timer.data = (unsigned long) mc;
@ -1934,10 +1933,10 @@ static int ip6_mc_add1_src(struct ifmcaddr6 *pmc, int sfmode,
psf_prev = psf; psf_prev = psf;
} }
if (!psf) { if (!psf) {
psf = kmalloc(sizeof(*psf), GFP_ATOMIC); psf = kzalloc(sizeof(*psf), GFP_ATOMIC);
if (!psf) if (!psf)
return -ENOBUFS; return -ENOBUFS;
memset(psf, 0, sizeof(*psf));
psf->sf_addr = *psfsrc; psf->sf_addr = *psfsrc;
if (psf_prev) { if (psf_prev) {
psf_prev->sf_next = psf; psf_prev->sf_next = psf;
@ -2431,7 +2430,7 @@ static int igmp6_mc_seq_open(struct inode *inode, struct file *file)
{ {
struct seq_file *seq; struct seq_file *seq;
int rc = -ENOMEM; int rc = -ENOMEM;
struct igmp6_mc_iter_state *s = kmalloc(sizeof(*s), GFP_KERNEL); struct igmp6_mc_iter_state *s = kzalloc(sizeof(*s), GFP_KERNEL);
if (!s) if (!s)
goto out; goto out;
@ -2442,7 +2441,6 @@ static int igmp6_mc_seq_open(struct inode *inode, struct file *file)
seq = file->private_data; seq = file->private_data;
seq->private = s; seq->private = s;
memset(s, 0, sizeof(*s));
out: out:
return rc; return rc;
out_kfree: out_kfree:
@ -2606,7 +2604,7 @@ static int igmp6_mcf_seq_open(struct inode *inode, struct file *file)
{ {
struct seq_file *seq; struct seq_file *seq;
int rc = -ENOMEM; int rc = -ENOMEM;
struct igmp6_mcf_iter_state *s = kmalloc(sizeof(*s), GFP_KERNEL); struct igmp6_mcf_iter_state *s = kzalloc(sizeof(*s), GFP_KERNEL);
if (!s) if (!s)
goto out; goto out;
@ -2617,7 +2615,6 @@ static int igmp6_mcf_seq_open(struct inode *inode, struct file *file)
seq = file->private_data; seq = file->private_data;
seq->private = s; seq->private = s;
memset(s, 0, sizeof(*s));
out: out:
return rc; return rc;
out_kfree: out_kfree:

View File

@ -1198,7 +1198,7 @@ static int raw6_seq_open(struct inode *inode, struct file *file)
{ {
struct seq_file *seq; struct seq_file *seq;
int rc = -ENOMEM; int rc = -ENOMEM;
struct raw6_iter_state *s = kmalloc(sizeof(*s), GFP_KERNEL); struct raw6_iter_state *s = kzalloc(sizeof(*s), GFP_KERNEL);
if (!s) if (!s)
goto out; goto out;
rc = seq_open(file, &raw6_seq_ops); rc = seq_open(file, &raw6_seq_ops);
@ -1206,7 +1206,6 @@ static int raw6_seq_open(struct inode *inode, struct file *file)
goto out_kfree; goto out_kfree;
seq = file->private_data; seq = file->private_data;
seq->private = s; seq->private = s;
memset(s, 0, sizeof(*s));
out: out:
return rc; return rc;
out_kfree: out_kfree:

View File

@ -1877,11 +1877,10 @@ int inet6_dump_fib(struct sk_buff *skb, struct netlink_callback *cb)
/* /*
* 2. allocate and initialize walker. * 2. allocate and initialize walker.
*/ */
w = kmalloc(sizeof(*w), GFP_ATOMIC); w = kzalloc(sizeof(*w), GFP_ATOMIC);
if (w == NULL) if (w == NULL)
return -ENOMEM; return -ENOMEM;
RT6_TRACE("dump<%p", w); RT6_TRACE("dump<%p", w);
memset(w, 0, sizeof(*w));
w->root = &ip6_routing_table; w->root = &ip6_routing_table;
w->func = fib6_dump_node; w->func = fib6_dump_node;
w->args = &arg; w->args = &arg;