diff options
Diffstat (limited to 'net/ipv6/mcast.c')
-rw-r--r-- | net/ipv6/mcast.c | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/net/ipv6/mcast.c b/net/ipv6/mcast.c index 807c021d64a2..6e871afbb2c7 100644 --- a/net/ipv6/mcast.c +++ b/net/ipv6/mcast.c | |||
@@ -767,10 +767,10 @@ static void mld_add_delrec(struct inet6_dev *idev, struct ifmcaddr6 *im) | |||
767 | * for deleted items allows change reports to use common code with | 767 | * for deleted items allows change reports to use common code with |
768 | * non-deleted or query-response MCA's. | 768 | * non-deleted or query-response MCA's. |
769 | */ | 769 | */ |
770 | pmc = kmalloc(sizeof(*pmc), GFP_ATOMIC); | 770 | pmc = kzalloc(sizeof(*pmc), GFP_ATOMIC); |
771 | if (!pmc) | 771 | if (!pmc) |
772 | return; | 772 | return; |
773 | memset(pmc, 0, sizeof(*pmc)); | 773 | |
774 | spin_lock_bh(&im->mca_lock); | 774 | spin_lock_bh(&im->mca_lock); |
775 | spin_lock_init(&pmc->mca_lock); | 775 | spin_lock_init(&pmc->mca_lock); |
776 | pmc->idev = im->idev; | 776 | pmc->idev = im->idev; |
@@ -893,7 +893,7 @@ int ipv6_dev_mc_inc(struct net_device *dev, struct in6_addr *addr) | |||
893 | * not found: create a new one. | 893 | * not found: create a new one. |
894 | */ | 894 | */ |
895 | 895 | ||
896 | mc = kmalloc(sizeof(struct ifmcaddr6), GFP_ATOMIC); | 896 | mc = kzalloc(sizeof(struct ifmcaddr6), GFP_ATOMIC); |
897 | 897 | ||
898 | if (mc == NULL) { | 898 | if (mc == NULL) { |
899 | write_unlock_bh(&idev->lock); | 899 | write_unlock_bh(&idev->lock); |
@@ -901,7 +901,6 @@ int ipv6_dev_mc_inc(struct net_device *dev, struct in6_addr *addr) | |||
901 | return -ENOMEM; | 901 | return -ENOMEM; |
902 | } | 902 | } |
903 | 903 | ||
904 | memset(mc, 0, sizeof(struct ifmcaddr6)); | ||
905 | init_timer(&mc->mca_timer); | 904 | init_timer(&mc->mca_timer); |
906 | mc->mca_timer.function = igmp6_timer_handler; | 905 | mc->mca_timer.function = igmp6_timer_handler; |
907 | mc->mca_timer.data = (unsigned long) mc; | 906 | mc->mca_timer.data = (unsigned long) mc; |
@@ -1934,10 +1933,10 @@ static int ip6_mc_add1_src(struct ifmcaddr6 *pmc, int sfmode, | |||
1934 | psf_prev = psf; | 1933 | psf_prev = psf; |
1935 | } | 1934 | } |
1936 | if (!psf) { | 1935 | if (!psf) { |
1937 | psf = kmalloc(sizeof(*psf), GFP_ATOMIC); | 1936 | psf = kzalloc(sizeof(*psf), GFP_ATOMIC); |
1938 | if (!psf) | 1937 | if (!psf) |
1939 | return -ENOBUFS; | 1938 | return -ENOBUFS; |
1940 | memset(psf, 0, sizeof(*psf)); | 1939 | |
1941 | psf->sf_addr = *psfsrc; | 1940 | psf->sf_addr = *psfsrc; |
1942 | if (psf_prev) { | 1941 | if (psf_prev) { |
1943 | psf_prev->sf_next = psf; | 1942 | psf_prev->sf_next = psf; |
@@ -2431,7 +2430,7 @@ static int igmp6_mc_seq_open(struct inode *inode, struct file *file) | |||
2431 | { | 2430 | { |
2432 | struct seq_file *seq; | 2431 | struct seq_file *seq; |
2433 | int rc = -ENOMEM; | 2432 | int rc = -ENOMEM; |
2434 | struct igmp6_mc_iter_state *s = kmalloc(sizeof(*s), GFP_KERNEL); | 2433 | struct igmp6_mc_iter_state *s = kzalloc(sizeof(*s), GFP_KERNEL); |
2435 | 2434 | ||
2436 | if (!s) | 2435 | if (!s) |
2437 | goto out; | 2436 | goto out; |
@@ -2442,7 +2441,6 @@ static int igmp6_mc_seq_open(struct inode *inode, struct file *file) | |||
2442 | 2441 | ||
2443 | seq = file->private_data; | 2442 | seq = file->private_data; |
2444 | seq->private = s; | 2443 | seq->private = s; |
2445 | memset(s, 0, sizeof(*s)); | ||
2446 | out: | 2444 | out: |
2447 | return rc; | 2445 | return rc; |
2448 | out_kfree: | 2446 | out_kfree: |
@@ -2606,7 +2604,7 @@ static int igmp6_mcf_seq_open(struct inode *inode, struct file *file) | |||
2606 | { | 2604 | { |
2607 | struct seq_file *seq; | 2605 | struct seq_file *seq; |
2608 | int rc = -ENOMEM; | 2606 | int rc = -ENOMEM; |
2609 | struct igmp6_mcf_iter_state *s = kmalloc(sizeof(*s), GFP_KERNEL); | 2607 | struct igmp6_mcf_iter_state *s = kzalloc(sizeof(*s), GFP_KERNEL); |
2610 | 2608 | ||
2611 | if (!s) | 2609 | if (!s) |
2612 | goto out; | 2610 | goto out; |
@@ -2617,7 +2615,6 @@ static int igmp6_mcf_seq_open(struct inode *inode, struct file *file) | |||
2617 | 2615 | ||
2618 | seq = file->private_data; | 2616 | seq = file->private_data; |
2619 | seq->private = s; | 2617 | seq->private = s; |
2620 | memset(s, 0, sizeof(*s)); | ||
2621 | out: | 2618 | out: |
2622 | return rc; | 2619 | return rc; |
2623 | out_kfree: | 2620 | out_kfree: |