diff options
| author | Panagiotis Issaris <takis@issaris.org> | 2006-07-21 17:51:30 -0400 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2006-07-21 17:51:30 -0400 |
| commit | 0da974f4f303a6842516b764507e3c0a03f41e5a (patch) | |
| tree | 8872aec792f02040269c6769dd1009b20f71d186 | |
| parent | a0ee7c70b22f78593957f99faa06acb4747b8bc0 (diff) | |
[NET]: Conversions from kmalloc+memset to k(z|c)alloc.
Signed-off-by: Panagiotis Issaris <takis@issaris.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
94 files changed, 154 insertions, 334 deletions
diff --git a/net/8021q/vlan.c b/net/8021q/vlan.c index 458031bfff55..0ade0c63fdf6 100644 --- a/net/8021q/vlan.c +++ b/net/8021q/vlan.c | |||
| @@ -542,12 +542,11 @@ static struct net_device *register_vlan_device(const char *eth_IF_name, | |||
| 542 | * so it cannot "appear" on us. | 542 | * so it cannot "appear" on us. |
| 543 | */ | 543 | */ |
| 544 | if (!grp) { /* need to add a new group */ | 544 | if (!grp) { /* need to add a new group */ |
| 545 | grp = kmalloc(sizeof(struct vlan_group), GFP_KERNEL); | 545 | grp = kzalloc(sizeof(struct vlan_group), GFP_KERNEL); |
| 546 | if (!grp) | 546 | if (!grp) |
| 547 | goto out_free_unregister; | 547 | goto out_free_unregister; |
| 548 | 548 | ||
| 549 | /* printk(KERN_ALERT "VLAN REGISTER: Allocated new group.\n"); */ | 549 | /* printk(KERN_ALERT "VLAN REGISTER: Allocated new group.\n"); */ |
| 550 | memset(grp, 0, sizeof(struct vlan_group)); | ||
| 551 | grp->real_dev_ifindex = real_dev->ifindex; | 550 | grp->real_dev_ifindex = real_dev->ifindex; |
| 552 | 551 | ||
| 553 | hlist_add_head_rcu(&grp->hlist, | 552 | hlist_add_head_rcu(&grp->hlist, |
diff --git a/net/appletalk/ddp.c b/net/appletalk/ddp.c index 5ee96d4b40e9..96dc6bb52d14 100644 --- a/net/appletalk/ddp.c +++ b/net/appletalk/ddp.c | |||
| @@ -227,12 +227,11 @@ static void atif_drop_device(struct net_device *dev) | |||
| 227 | static struct atalk_iface *atif_add_device(struct net_device *dev, | 227 | static struct atalk_iface *atif_add_device(struct net_device *dev, |
| 228 | struct atalk_addr *sa) | 228 | struct atalk_addr *sa) |
| 229 | { | 229 | { |
| 230 | struct atalk_iface *iface = kmalloc(sizeof(*iface), GFP_KERNEL); | 230 | struct atalk_iface *iface = kzalloc(sizeof(*iface), GFP_KERNEL); |
| 231 | 231 | ||
| 232 | if (!iface) | 232 | if (!iface) |
| 233 | goto out; | 233 | goto out; |
| 234 | 234 | ||
| 235 | memset(iface, 0, sizeof(*iface)); | ||
| 236 | dev_hold(dev); | 235 | dev_hold(dev); |
| 237 | iface->dev = dev; | 236 | iface->dev = dev; |
| 238 | dev->atalk_ptr = iface; | 237 | dev->atalk_ptr = iface; |
| @@ -559,12 +558,11 @@ static int atrtr_create(struct rtentry *r, struct net_device *devhint) | |||
| 559 | } | 558 | } |
| 560 | 559 | ||
| 561 | if (!rt) { | 560 | if (!rt) { |
| 562 | rt = kmalloc(sizeof(*rt), GFP_ATOMIC); | 561 | rt = kzalloc(sizeof(*rt), GFP_ATOMIC); |
| 563 | 562 | ||
| 564 | retval = -ENOBUFS; | 563 | retval = -ENOBUFS; |
| 565 | if (!rt) | 564 | if (!rt) |
| 566 | goto out_unlock; | 565 | goto out_unlock; |
| 567 | memset(rt, 0, sizeof(*rt)); | ||
| 568 | 566 | ||
| 569 | rt->next = atalk_routes; | 567 | rt->next = atalk_routes; |
| 570 | atalk_routes = rt; | 568 | atalk_routes = rt; |
diff --git a/net/atm/br2684.c b/net/atm/br2684.c index a487233dc466..d00cca97eb33 100644 --- a/net/atm/br2684.c +++ b/net/atm/br2684.c | |||
| @@ -508,10 +508,9 @@ Note: we do not have explicit unassign, but look at _push() | |||
| 508 | 508 | ||
| 509 | if (copy_from_user(&be, arg, sizeof be)) | 509 | if (copy_from_user(&be, arg, sizeof be)) |
| 510 | return -EFAULT; | 510 | return -EFAULT; |
| 511 | brvcc = kmalloc(sizeof(struct br2684_vcc), GFP_KERNEL); | 511 | brvcc = kzalloc(sizeof(struct br2684_vcc), GFP_KERNEL); |
| 512 | if (!brvcc) | 512 | if (!brvcc) |
| 513 | return -ENOMEM; | 513 | return -ENOMEM; |
| 514 | memset(brvcc, 0, sizeof(struct br2684_vcc)); | ||
| 515 | write_lock_irq(&devs_lock); | 514 | write_lock_irq(&devs_lock); |
| 516 | net_dev = br2684_find_dev(&be.ifspec); | 515 | net_dev = br2684_find_dev(&be.ifspec); |
| 517 | if (net_dev == NULL) { | 516 | if (net_dev == NULL) { |
diff --git a/net/atm/clip.c b/net/atm/clip.c index 2e62105d91bd..7ce7bfe3fbad 100644 --- a/net/atm/clip.c +++ b/net/atm/clip.c | |||
| @@ -929,12 +929,11 @@ static int arp_seq_open(struct inode *inode, struct file *file) | |||
| 929 | struct seq_file *seq; | 929 | struct seq_file *seq; |
| 930 | int rc = -EAGAIN; | 930 | int rc = -EAGAIN; |
| 931 | 931 | ||
| 932 | state = kmalloc(sizeof(*state), GFP_KERNEL); | 932 | state = kzalloc(sizeof(*state), GFP_KERNEL); |
| 933 | if (!state) { | 933 | if (!state) { |
| 934 | rc = -ENOMEM; | 934 | rc = -ENOMEM; |
| 935 | goto out_kfree; | 935 | goto out_kfree; |
| 936 | } | 936 | } |
| 937 | memset(state, 0, sizeof(*state)); | ||
| 938 | state->ns.neigh_sub_iter = clip_seq_sub_iter; | 937 | state->ns.neigh_sub_iter = clip_seq_sub_iter; |
| 939 | 938 | ||
| 940 | rc = seq_open(file, &arp_seq_ops); | 939 | rc = seq_open(file, &arp_seq_ops); |
diff --git a/net/atm/lec.c b/net/atm/lec.c index 4b68a18171cf..b4aa489849df 100644 --- a/net/atm/lec.c +++ b/net/atm/lec.c | |||
| @@ -1811,12 +1811,11 @@ make_entry(struct lec_priv *priv, unsigned char *mac_addr) | |||
| 1811 | { | 1811 | { |
| 1812 | struct lec_arp_table *to_return; | 1812 | struct lec_arp_table *to_return; |
| 1813 | 1813 | ||
| 1814 | to_return = kmalloc(sizeof(struct lec_arp_table), GFP_ATOMIC); | 1814 | to_return = kzalloc(sizeof(struct lec_arp_table), GFP_ATOMIC); |
| 1815 | if (!to_return) { | 1815 | if (!to_return) { |
| 1816 | printk("LEC: Arp entry kmalloc failed\n"); | 1816 | printk("LEC: Arp entry kmalloc failed\n"); |
| 1817 | return NULL; | 1817 | return NULL; |
| 1818 | } | 1818 | } |
| 1819 | memset(to_return, 0, sizeof(struct lec_arp_table)); | ||
| 1820 | memcpy(to_return->mac_addr, mac_addr, ETH_ALEN); | 1819 | memcpy(to_return->mac_addr, mac_addr, ETH_ALEN); |
| 1821 | init_timer(&to_return->timer); | 1820 | init_timer(&to_return->timer); |
| 1822 | to_return->timer.function = lec_arp_expire_arp; | 1821 | to_return->timer.function = lec_arp_expire_arp; |
diff --git a/net/atm/mpc.c b/net/atm/mpc.c index 9aafe1e2f048..00704661e83f 100644 --- a/net/atm/mpc.c +++ b/net/atm/mpc.c | |||
| @@ -258,10 +258,9 @@ static struct mpoa_client *alloc_mpc(void) | |||
| 258 | { | 258 | { |
| 259 | struct mpoa_client *mpc; | 259 | struct mpoa_client *mpc; |
| 260 | 260 | ||
| 261 | mpc = kmalloc(sizeof (struct mpoa_client), GFP_KERNEL); | 261 | mpc = kzalloc(sizeof (struct mpoa_client), GFP_KERNEL); |
| 262 | if (mpc == NULL) | 262 | if (mpc == NULL) |
| 263 | return NULL; | 263 | return NULL; |
| 264 | memset(mpc, 0, sizeof(struct mpoa_client)); | ||
| 265 | rwlock_init(&mpc->ingress_lock); | 264 | rwlock_init(&mpc->ingress_lock); |
| 266 | rwlock_init(&mpc->egress_lock); | 265 | rwlock_init(&mpc->egress_lock); |
| 267 | mpc->next = mpcs; | 266 | mpc->next = mpcs; |
diff --git a/net/atm/pppoatm.c b/net/atm/pppoatm.c index 76a7d8ff6c0e..19d5dfc0702f 100644 --- a/net/atm/pppoatm.c +++ b/net/atm/pppoatm.c | |||
| @@ -287,10 +287,9 @@ static int pppoatm_assign_vcc(struct atm_vcc *atmvcc, void __user *arg) | |||
| 287 | if (be.encaps != PPPOATM_ENCAPS_AUTODETECT && | 287 | if (be.encaps != PPPOATM_ENCAPS_AUTODETECT && |
| 288 | be.encaps != PPPOATM_ENCAPS_VC && be.encaps != PPPOATM_ENCAPS_LLC) | 288 | be.encaps != PPPOATM_ENCAPS_VC && be.encaps != PPPOATM_ENCAPS_LLC) |
| 289 | return -EINVAL; | 289 | return -EINVAL; |
| 290 | pvcc = kmalloc(sizeof(*pvcc), GFP_KERNEL); | 290 | pvcc = kzalloc(sizeof(*pvcc), GFP_KERNEL); |
| 291 | if (pvcc == NULL) | 291 | if (pvcc == NULL) |
| 292 | return -ENOMEM; | 292 | return -ENOMEM; |
| 293 | memset(pvcc, 0, sizeof(*pvcc)); | ||
| 294 | pvcc->atmvcc = atmvcc; | 293 | pvcc->atmvcc = atmvcc; |
| 295 | pvcc->old_push = atmvcc->push; | 294 | pvcc->old_push = atmvcc->push; |
| 296 | pvcc->old_pop = atmvcc->pop; | 295 | pvcc->old_pop = atmvcc->pop; |
diff --git a/net/atm/resources.c b/net/atm/resources.c index de25c6408b04..529f7e64aa2c 100644 --- a/net/atm/resources.c +++ b/net/atm/resources.c | |||
| @@ -33,10 +33,9 @@ static struct atm_dev *__alloc_atm_dev(const char *type) | |||
| 33 | { | 33 | { |
| 34 | struct atm_dev *dev; | 34 | struct atm_dev *dev; |
| 35 | 35 | ||
| 36 | dev = kmalloc(sizeof(*dev), GFP_KERNEL); | 36 | dev = kzalloc(sizeof(*dev), GFP_KERNEL); |
| 37 | if (!dev) | 37 | if (!dev) |
| 38 | return NULL; | 38 | return NULL; |
| 39 | memset(dev, 0, sizeof(*dev)); | ||
| 40 | dev->type = type; | 39 | dev->type = type; |
| 41 | dev->signal = ATM_PHY_SIG_UNKNOWN; | 40 | dev->signal = ATM_PHY_SIG_UNKNOWN; |
| 42 | dev->link_rate = ATM_OC3_PCR; | 41 | dev->link_rate = ATM_OC3_PCR; |
diff --git a/net/ax25/sysctl_net_ax25.c b/net/ax25/sysctl_net_ax25.c index 369a75b160f2..867d42537979 100644 --- a/net/ax25/sysctl_net_ax25.c +++ b/net/ax25/sysctl_net_ax25.c | |||
| @@ -203,13 +203,11 @@ void ax25_register_sysctl(void) | |||
| 203 | for (ax25_table_size = sizeof(ctl_table), ax25_dev = ax25_dev_list; ax25_dev != NULL; ax25_dev = ax25_dev->next) | 203 | for (ax25_table_size = sizeof(ctl_table), ax25_dev = ax25_dev_list; ax25_dev != NULL; ax25_dev = ax25_dev->next) |
| 204 | ax25_table_size += sizeof(ctl_table); | 204 | ax25_table_size += sizeof(ctl_table); |
| 205 | 205 | ||
| 206 | if ((ax25_table = kmalloc(ax25_table_size, GFP_ATOMIC)) == NULL) { | 206 | if ((ax25_table = kzalloc(ax25_table_size, GFP_ATOMIC)) == NULL) { |
| 207 | spin_unlock_bh(&ax25_dev_lock); | 207 | spin_unlock_bh(&ax25_dev_lock); |
| 208 | return; | 208 | return; |
| 209 | } | 209 | } |
| 210 | 210 | ||
| 211 | memset(ax25_table, 0x00, ax25_table_size); | ||
| 212 | |||
| 213 | for (n = 0, ax25_dev = ax25_dev_list; ax25_dev != NULL; ax25_dev = ax25_dev->next) { | 211 | for (n = 0, ax25_dev = ax25_dev_list; ax25_dev != NULL; ax25_dev = ax25_dev->next) { |
| 214 | ctl_table *child = kmalloc(sizeof(ax25_param_table), GFP_ATOMIC); | 212 | ctl_table *child = kmalloc(sizeof(ax25_param_table), GFP_ATOMIC); |
| 215 | if (!child) { | 213 | if (!child) { |
diff --git a/net/bridge/br_ioctl.c b/net/bridge/br_ioctl.c index 159fb8409824..4e4119a12139 100644 --- a/net/bridge/br_ioctl.c +++ b/net/bridge/br_ioctl.c | |||
| @@ -162,12 +162,10 @@ static int old_dev_ioctl(struct net_device *dev, struct ifreq *rq, int cmd) | |||
| 162 | if (num > BR_MAX_PORTS) | 162 | if (num > BR_MAX_PORTS) |
| 163 | num = BR_MAX_PORTS; | 163 | num = BR_MAX_PORTS; |
| 164 | 164 | ||
| 165 | indices = kmalloc(num*sizeof(int), GFP_KERNEL); | 165 | indices = kcalloc(num, sizeof(int), GFP_KERNEL); |
| 166 | if (indices == NULL) | 166 | if (indices == NULL) |
| 167 | return -ENOMEM; | 167 | return -ENOMEM; |
| 168 | 168 | ||
| 169 | memset(indices, 0, num*sizeof(int)); | ||
| 170 | |||
| 171 | get_port_ifindices(br, indices, num); | 169 | get_port_ifindices(br, indices, num); |
| 172 | if (copy_to_user((void __user *)args[1], indices, num*sizeof(int))) | 170 | if (copy_to_user((void __user *)args[1], indices, num*sizeof(int))) |
| 173 | num = -EFAULT; | 171 | num = -EFAULT; |
| @@ -327,11 +325,10 @@ static int old_deviceless(void __user *uarg) | |||
| 327 | 325 | ||
| 328 | if (args[2] >= 2048) | 326 | if (args[2] >= 2048) |
| 329 | return -ENOMEM; | 327 | return -ENOMEM; |
| 330 | indices = kmalloc(args[2]*sizeof(int), GFP_KERNEL); | 328 | indices = kcalloc(args[2], sizeof(int), GFP_KERNEL); |
| 331 | if (indices == NULL) | 329 | if (indices == NULL) |
| 332 | return -ENOMEM; | 330 | return -ENOMEM; |
| 333 | 331 | ||
| 334 | memset(indices, 0, args[2]*sizeof(int)); | ||
| 335 | args[2] = get_bridge_ifindices(indices, args[2]); | 332 | args[2] = get_bridge_ifindices(indices, args[2]); |
| 336 | 333 | ||
| 337 | ret = copy_to_user((void __user *)args[1], indices, args[2]*sizeof(int)) | 334 | ret = copy_to_user((void __user *)args[1], indices, args[2]*sizeof(int)) |
diff --git a/net/decnet/dn_dev.c b/net/decnet/dn_dev.c index 98a25208440d..476455fbdb03 100644 --- a/net/decnet/dn_dev.c +++ b/net/decnet/dn_dev.c | |||
| @@ -413,11 +413,7 @@ static struct dn_ifaddr *dn_dev_alloc_ifa(void) | |||
| 413 | { | 413 | { |
| 414 | struct dn_ifaddr *ifa; | 414 | struct dn_ifaddr *ifa; |
| 415 | 415 | ||
| 416 | ifa = kmalloc(sizeof(*ifa), GFP_KERNEL); | 416 | ifa = kzalloc(sizeof(*ifa), GFP_KERNEL); |
| 417 | |||
| 418 | if (ifa) { | ||
| 419 | memset(ifa, 0, sizeof(*ifa)); | ||
| 420 | } | ||
| 421 | 417 | ||
| 422 | return ifa; | 418 | return ifa; |
| 423 | } | 419 | } |
| @@ -1105,10 +1101,9 @@ struct dn_dev *dn_dev_create(struct net_device *dev, int *err) | |||
| 1105 | return NULL; | 1101 | return NULL; |
| 1106 | 1102 | ||
| 1107 | *err = -ENOBUFS; | 1103 | *err = -ENOBUFS; |
| 1108 | if ((dn_db = kmalloc(sizeof(struct dn_dev), GFP_ATOMIC)) == NULL) | 1104 | if ((dn_db = kzalloc(sizeof(struct dn_dev), GFP_ATOMIC)) == NULL) |
| 1109 | return NULL; | 1105 | return NULL; |
| 1110 | 1106 | ||
| 1111 | memset(dn_db, 0, sizeof(struct dn_dev)); | ||
| 1112 | memcpy(&dn_db->parms, p, sizeof(struct dn_dev_parms)); | 1107 | memcpy(&dn_db->parms, p, sizeof(struct dn_dev_parms)); |
| 1113 | smp_wmb(); | 1108 | smp_wmb(); |
| 1114 | dev->dn_ptr = dn_db; | 1109 | dev->dn_ptr = dn_db; |
diff --git a/net/decnet/dn_fib.c b/net/decnet/dn_fib.c index 0375077391b7..fa20e2efcfc1 100644 --- a/net/decnet/dn_fib.c +++ b/net/decnet/dn_fib.c | |||
| @@ -283,11 +283,10 @@ struct dn_fib_info *dn_fib_create_info(const struct rtmsg *r, struct dn_kern_rta | |||
| 283 | goto err_inval; | 283 | goto err_inval; |
| 284 | } | 284 | } |
| 285 | 285 | ||
| 286 | fi = kmalloc(sizeof(*fi)+nhs*sizeof(struct dn_fib_nh), GFP_KERNEL); | 286 | fi = kzalloc(sizeof(*fi)+nhs*sizeof(struct dn_fib_nh), GFP_KERNEL); |
| 287 | err = -ENOBUFS; | 287 | err = -ENOBUFS; |
| 288 | if (fi == NULL) | 288 | if (fi == NULL) |
| 289 | goto failure; | 289 | goto failure; |
| 290 | memset(fi, 0, sizeof(*fi)+nhs*sizeof(struct dn_fib_nh)); | ||
| 291 | 290 | ||
| 292 | fi->fib_protocol = r->rtm_protocol; | 291 | fi->fib_protocol = r->rtm_protocol; |
| 293 | fi->fib_nhs = nhs; | 292 | fi->fib_nhs = nhs; |
diff --git a/net/decnet/dn_neigh.c b/net/decnet/dn_neigh.c index 5ce9c9e0565c..ff0ebe99137d 100644 --- a/net/decnet/dn_neigh.c +++ b/net/decnet/dn_neigh.c | |||
| @@ -580,12 +580,11 @@ static int dn_neigh_seq_open(struct inode *inode, struct file *file) | |||
| 580 | { | 580 | { |
| 581 | struct seq_file *seq; | 581 | struct seq_file *seq; |
| 582 | int rc = -ENOMEM; | 582 | int rc = -ENOMEM; |
| 583 | struct neigh_seq_state *s = kmalloc(sizeof(*s), GFP_KERNEL); | 583 | struct neigh_seq_state *s = kzalloc(sizeof(*s), GFP_KERNEL); |
| 584 | 584 | ||
| 585 | if (!s) | 585 | if (!s) |
| 586 | goto out; | 586 | goto out; |
| 587 | 587 | ||
| 588 | memset(s, 0, sizeof(*s)); | ||
| 589 | rc = seq_open(file, &dn_neigh_seq_ops); | 588 | rc = seq_open(file, &dn_neigh_seq_ops); |
| 590 | if (rc) | 589 | if (rc) |
| 591 | goto out_kfree; | 590 | goto out_kfree; |
diff --git a/net/decnet/dn_rules.c b/net/decnet/dn_rules.c index 22f321d9bf9d..6986be754ef2 100644 --- a/net/decnet/dn_rules.c +++ b/net/decnet/dn_rules.c | |||
| @@ -151,10 +151,9 @@ int dn_fib_rtm_newrule(struct sk_buff *skb, struct nlmsghdr *nlh, void *arg) | |||
| 151 | } | 151 | } |
| 152 | } | 152 | } |
| 153 | 153 | ||
| 154 | new_r = kmalloc(sizeof(*new_r), GFP_KERNEL); | 154 | new_r = kzalloc(sizeof(*new_r), GFP_KERNEL); |
| 155 | if (!new_r) | 155 | if (!new_r) |
| 156 | return -ENOMEM; | 156 | return -ENOMEM; |
| 157 | memset(new_r, 0, sizeof(*new_r)); | ||
| 158 | 157 | ||
| 159 | if (rta[RTA_SRC-1]) | 158 | if (rta[RTA_SRC-1]) |
| 160 | memcpy(&new_r->r_src, RTA_DATA(rta[RTA_SRC-1]), 2); | 159 | memcpy(&new_r->r_src, RTA_DATA(rta[RTA_SRC-1]), 2); |
diff --git a/net/decnet/dn_table.c b/net/decnet/dn_table.c index 37d9d0a1ac8c..e926c952e363 100644 --- a/net/decnet/dn_table.c +++ b/net/decnet/dn_table.c | |||
| @@ -158,12 +158,10 @@ static void dn_rehash_zone(struct dn_zone *dz) | |||
| 158 | break; | 158 | break; |
| 159 | } | 159 | } |
| 160 | 160 | ||
| 161 | ht = kmalloc(new_divisor*sizeof(struct dn_fib_node*), GFP_KERNEL); | 161 | ht = kcalloc(new_divisor, sizeof(struct dn_fib_node*), GFP_KERNEL); |
| 162 | |||
| 163 | if (ht == NULL) | 162 | if (ht == NULL) |
| 164 | return; | 163 | return; |
| 165 | 164 | ||
| 166 | memset(ht, 0, new_divisor*sizeof(struct dn_fib_node *)); | ||
| 167 | write_lock_bh(&dn_fib_tables_lock); | 165 | write_lock_bh(&dn_fib_tables_lock); |
| 168 | old_ht = dz->dz_hash; | 166 | old_ht = dz->dz_hash; |
| 169 | dz->dz_hash = ht; | 167 | dz->dz_hash = ht; |
| @@ -184,11 +182,10 @@ static void dn_free_node(struct dn_fib_node *f) | |||
| 184 | static struct dn_zone *dn_new_zone(struct dn_hash *table, int z) | 182 | static struct dn_zone *dn_new_zone(struct dn_hash *table, int z) |
| 185 | { | 183 | { |
| 186 | int i; | 184 | int i; |
| 187 | struct dn_zone *dz = kmalloc(sizeof(struct dn_zone), GFP_KERNEL); | 185 | struct dn_zone *dz = kzalloc(sizeof(struct dn_zone), GFP_KERNEL); |
| 188 | if (!dz) | 186 | if (!dz) |
| 189 | return NULL; | 187 | return NULL; |
| 190 | 188 | ||
| 191 | memset(dz, 0, sizeof(struct dn_zone)); | ||
| 192 | if (z) { | 189 | if (z) { |
| 193 | dz->dz_divisor = 16; | 190 | dz->dz_divisor = 16; |
| 194 | dz->dz_hashmask = 0x0F; | 191 | dz->dz_hashmask = 0x0F; |
| @@ -197,14 +194,12 @@ static struct dn_zone *dn_new_zone(struct dn_hash *table, int z) | |||
| 197 | dz->dz_hashmask = 0; | 194 | dz->dz_hashmask = 0; |
| 198 | } | 195 | } |
| 199 | 196 | ||
| 200 | dz->dz_hash = kmalloc(dz->dz_divisor*sizeof(struct dn_fib_node *), GFP_KERNEL); | 197 | dz->dz_hash = kcalloc(dz->dz_divisor, sizeof(struct dn_fib_node *), GFP_KERNEL); |
| 201 | |||
| 202 | if (!dz->dz_hash) { | 198 | if (!dz->dz_hash) { |
| 203 | kfree(dz); | 199 | kfree(dz); |
| 204 | return NULL; | 200 | return NULL; |
| 205 | } | 201 | } |
| 206 | 202 | ||
| 207 | memset(dz->dz_hash, 0, dz->dz_divisor*sizeof(struct dn_fib_node*)); | ||
| 208 | dz->dz_order = z; | 203 | dz->dz_order = z; |
| 209 | dz->dz_mask = dnet_make_mask(z); | 204 | dz->dz_mask = dnet_make_mask(z); |
| 210 | 205 | ||
diff --git a/net/econet/af_econet.c b/net/econet/af_econet.c index 309ae4c6549a..4d66aac13483 100644 --- a/net/econet/af_econet.c +++ b/net/econet/af_econet.c | |||
| @@ -673,12 +673,11 @@ static int ec_dev_ioctl(struct socket *sock, unsigned int cmd, void __user *arg) | |||
| 673 | edev = dev->ec_ptr; | 673 | edev = dev->ec_ptr; |
| 674 | if (edev == NULL) { | 674 | if (edev == NULL) { |
| 675 | /* Magic up a new one. */ | 675 | /* Magic up a new one. */ |
| 676 | edev = kmalloc(sizeof(struct ec_device), GFP_KERNEL); | 676 | edev = kzalloc(sizeof(struct ec_device), GFP_KERNEL); |
| 677 | if (edev == NULL) { | 677 | if (edev == NULL) { |
| 678 | err = -ENOMEM; | 678 | err = -ENOMEM; |
| 679 | break; | 679 | break; |
| 680 | } | 680 | } |
| 681 | memset(edev, 0, sizeof(struct ec_device)); | ||
| 682 | dev->ec_ptr = edev; | 681 | dev->ec_ptr = edev; |
| 683 | } else | 682 | } else |
| 684 | net2dev_map[edev->net] = NULL; | 683 | net2dev_map[edev->net] = NULL; |
diff --git a/net/ieee80211/ieee80211_crypt.c b/net/ieee80211/ieee80211_crypt.c index cb71d794a7d1..5ed0a98b2d76 100644 --- a/net/ieee80211/ieee80211_crypt.c +++ b/net/ieee80211/ieee80211_crypt.c | |||
| @@ -110,11 +110,10 @@ int ieee80211_register_crypto_ops(struct ieee80211_crypto_ops *ops) | |||
| 110 | unsigned long flags; | 110 | unsigned long flags; |
| 111 | struct ieee80211_crypto_alg *alg; | 111 | struct ieee80211_crypto_alg *alg; |
| 112 | 112 | ||
| 113 | alg = kmalloc(sizeof(*alg), GFP_KERNEL); | 113 | alg = kzalloc(sizeof(*alg), GFP_KERNEL); |
| 114 | if (alg == NULL) | 114 | if (alg == NULL) |
| 115 | return -ENOMEM; | 115 | return -ENOMEM; |
| 116 | 116 | ||
| 117 | memset(alg, 0, sizeof(*alg)); | ||
| 118 | alg->ops = ops; | 117 | alg->ops = ops; |
| 119 | 118 | ||
| 120 | spin_lock_irqsave(&ieee80211_crypto_lock, flags); | 119 | spin_lock_irqsave(&ieee80211_crypto_lock, flags); |
diff --git a/net/ieee80211/ieee80211_crypt_ccmp.c b/net/ieee80211/ieee80211_crypt_ccmp.c index 492647382ad0..ed90a8af1444 100644 --- a/net/ieee80211/ieee80211_crypt_ccmp.c +++ b/net/ieee80211/ieee80211_crypt_ccmp.c | |||
| @@ -76,10 +76,9 @@ static void *ieee80211_ccmp_init(int key_idx) | |||
| 76 | { | 76 | { |
| 77 | struct ieee80211_ccmp_data *priv; | 77 | struct ieee80211_ccmp_data *priv; |
| 78 | 78 | ||
| 79 | priv = kmalloc(sizeof(*priv), GFP_ATOMIC); | 79 | priv = kzalloc(sizeof(*priv), GFP_ATOMIC); |
| 80 | if (priv == NULL) | 80 | if (priv == NULL) |
| 81 | goto fail; | 81 | goto fail; |
| 82 | memset(priv, 0, sizeof(*priv)); | ||
| 83 | priv->key_idx = key_idx; | 82 | priv->key_idx = key_idx; |
| 84 | 83 | ||
| 85 | priv->tfm = crypto_alloc_tfm("aes", 0); | 84 | priv->tfm = crypto_alloc_tfm("aes", 0); |
diff --git a/net/ieee80211/ieee80211_crypt_wep.c b/net/ieee80211/ieee80211_crypt_wep.c index c5a87724aabe..0ebf235f6939 100644 --- a/net/ieee80211/ieee80211_crypt_wep.c +++ b/net/ieee80211/ieee80211_crypt_wep.c | |||
| @@ -39,10 +39,9 @@ static void *prism2_wep_init(int keyidx) | |||
| 39 | { | 39 | { |
| 40 | struct prism2_wep_data *priv; | 40 | struct prism2_wep_data *priv; |
| 41 | 41 | ||
| 42 | priv = kmalloc(sizeof(*priv), GFP_ATOMIC); | 42 | priv = kzalloc(sizeof(*priv), GFP_ATOMIC); |
| 43 | if (priv == NULL) | 43 | if (priv == NULL) |
| 44 | goto fail; | 44 | goto fail; |
| 45 | memset(priv, 0, sizeof(*priv)); | ||
| 46 | priv->key_idx = keyidx; | 45 | priv->key_idx = keyidx; |
| 47 | 46 | ||
| 48 | priv->tfm = crypto_alloc_tfm("arc4", 0); | 47 | priv->tfm = crypto_alloc_tfm("arc4", 0); |
diff --git a/net/ieee80211/ieee80211_wx.c b/net/ieee80211/ieee80211_wx.c index a78c4f845f66..5cb9cfd35397 100644 --- a/net/ieee80211/ieee80211_wx.c +++ b/net/ieee80211/ieee80211_wx.c | |||
| @@ -369,11 +369,10 @@ int ieee80211_wx_set_encode(struct ieee80211_device *ieee, | |||
| 369 | struct ieee80211_crypt_data *new_crypt; | 369 | struct ieee80211_crypt_data *new_crypt; |
| 370 | 370 | ||
| 371 | /* take WEP into use */ | 371 | /* take WEP into use */ |
| 372 | new_crypt = kmalloc(sizeof(struct ieee80211_crypt_data), | 372 | new_crypt = kzalloc(sizeof(struct ieee80211_crypt_data), |
| 373 | GFP_KERNEL); | 373 | GFP_KERNEL); |
| 374 | if (new_crypt == NULL) | 374 | if (new_crypt == NULL) |
| 375 | return -ENOMEM; | 375 | return -ENOMEM; |
| 376 | memset(new_crypt, 0, sizeof(struct ieee80211_crypt_data)); | ||
| 377 | new_crypt->ops = ieee80211_get_crypto_ops("WEP"); | 376 | new_crypt->ops = ieee80211_get_crypto_ops("WEP"); |
| 378 | if (!new_crypt->ops) { | 377 | if (!new_crypt->ops) { |
| 379 | request_module("ieee80211_crypt_wep"); | 378 | request_module("ieee80211_crypt_wep"); |
| @@ -616,13 +615,11 @@ int ieee80211_wx_set_encodeext(struct ieee80211_device *ieee, | |||
| 616 | 615 | ||
| 617 | ieee80211_crypt_delayed_deinit(ieee, crypt); | 616 | ieee80211_crypt_delayed_deinit(ieee, crypt); |
| 618 | 617 | ||
| 619 | new_crypt = (struct ieee80211_crypt_data *) | 618 | new_crypt = kzalloc(sizeof(*new_crypt), GFP_KERNEL); |
| 620 | kmalloc(sizeof(*new_crypt), GFP_KERNEL); | ||
| 621 | if (new_crypt == NULL) { | 619 | if (new_crypt == NULL) { |
| 622 | ret = -ENOMEM; | 620 | ret = -ENOMEM; |
| 623 | goto done; | 621 | goto done; |
| 624 | } | 622 | } |
| 625 | memset(new_crypt, 0, sizeof(struct ieee80211_crypt_data)); | ||
| 626 | new_crypt->ops = ops; | 623 | new_crypt->ops = ops; |
| 627 | if (new_crypt->ops && try_module_get(new_crypt->ops->owner)) | 624 | if (new_crypt->ops && try_module_get(new_crypt->ops->owner)) |
| 628 | new_crypt->priv = new_crypt->ops->init(idx); | 625 | new_crypt->priv = new_crypt->ops->init(idx); |
diff --git a/net/ieee80211/softmac/ieee80211softmac_io.c b/net/ieee80211/softmac/ieee80211softmac_io.c index 8cc8b20f5cda..6ae5a1dc7956 100644 --- a/net/ieee80211/softmac/ieee80211softmac_io.c +++ b/net/ieee80211/softmac/ieee80211softmac_io.c | |||
| @@ -96,8 +96,7 @@ ieee80211softmac_alloc_mgt(u32 size) | |||
| 96 | if(size > IEEE80211_DATA_LEN) | 96 | if(size > IEEE80211_DATA_LEN) |
| 97 | return NULL; | 97 | return NULL; |
| 98 | /* Allocate the frame */ | 98 | /* Allocate the frame */ |
| 99 | data = kmalloc(size, GFP_ATOMIC); | 99 | data = kzalloc(size, GFP_ATOMIC); |
| 100 | memset(data, 0, size); | ||
| 101 | return data; | 100 | return data; |
| 102 | } | 101 | } |
| 103 | 102 | ||
diff --git a/net/ipv4/ah4.c b/net/ipv4/ah4.c index 8e748be36c5a..1366bc6ce6a5 100644 --- a/net/ipv4/ah4.c +++ b/net/ipv4/ah4.c | |||
| @@ -215,12 +215,10 @@ static int ah_init_state(struct xfrm_state *x) | |||
| 215 | if (x->encap) | 215 | if (x->encap) |
| 216 | goto error; | 216 | goto error; |
| 217 | 217 | ||
| 218 | ahp = kmalloc(sizeof(*ahp), GFP_KERNEL); | 218 | ahp = kzalloc(sizeof(*ahp), GFP_KERNEL); |
| 219 | if (ahp == NULL) | 219 | if (ahp == NULL) |
| 220 | return -ENOMEM; | 220 | return -ENOMEM; |
| 221 | 221 | ||
| 222 | memset(ahp, 0, sizeof(*ahp)); | ||
| 223 | |||
| 224 | ahp->key = x->aalg->alg_key; | 222 | ahp->key = x->aalg->alg_key; |
| 225 | ahp->key_len = (x->aalg->alg_key_len+7)/8; | 223 | ahp->key_len = (x->aalg->alg_key_len+7)/8; |
| 226 | ahp->tfm = crypto_alloc_tfm(x->aalg->alg_name, 0); | 224 | ahp->tfm = crypto_alloc_tfm(x->aalg->alg_name, 0); |
diff --git a/net/ipv4/arp.c b/net/ipv4/arp.c index 7b51b3bdb548..c8a3723bc001 100644 --- a/net/ipv4/arp.c +++ b/net/ipv4/arp.c | |||
| @@ -1372,12 +1372,11 @@ static int arp_seq_open(struct inode *inode, struct file *file) | |||
| 1372 | { | 1372 | { |
| 1373 | struct seq_file *seq; | 1373 | struct seq_file *seq; |
| 1374 | int rc = -ENOMEM; | 1374 | int rc = -ENOMEM; |
| 1375 | struct neigh_seq_state *s = kmalloc(sizeof(*s), GFP_KERNEL); | 1375 | struct neigh_seq_state *s = kzalloc(sizeof(*s), GFP_KERNEL); |
| 1376 | 1376 | ||
| 1377 | if (!s) | 1377 | if (!s) |
| 1378 | goto out; | 1378 | goto out; |
| 1379 | 1379 | ||
| 1380 | memset(s, 0, sizeof(*s)); | ||
| 1381 | rc = seq_open(file, &arp_seq_ops); | 1380 | rc = seq_open(file, &arp_seq_ops); |
| 1382 | if (rc) | 1381 | if (rc) |
| 1383 | goto out_kfree; | 1382 | goto out_kfree; |
diff --git a/net/ipv4/devinet.c b/net/ipv4/devinet.c index a7c65e9e5ec9..a6cc31d911eb 100644 --- a/net/ipv4/devinet.c +++ b/net/ipv4/devinet.c | |||
| @@ -93,10 +93,9 @@ static void devinet_sysctl_unregister(struct ipv4_devconf *p); | |||
| 93 | 93 | ||
| 94 | static struct in_ifaddr *inet_alloc_ifa(void) | 94 | static struct in_ifaddr *inet_alloc_ifa(void) |
| 95 | { | 95 | { |
| 96 | struct in_ifaddr *ifa = kmalloc(sizeof(*ifa), GFP_KERNEL); | 96 | struct in_ifaddr *ifa = kzalloc(sizeof(*ifa), GFP_KERNEL); |
| 97 | 97 | ||
| 98 | if (ifa) { | 98 | if (ifa) { |
| 99 | memset(ifa, 0, sizeof(*ifa)); | ||
| 100 | INIT_RCU_HEAD(&ifa->rcu_head); | 99 | INIT_RCU_HEAD(&ifa->rcu_head); |
| 101 | } | 100 | } |
| 102 | 101 | ||
| @@ -140,10 +139,9 @@ struct in_device *inetdev_init(struct net_device *dev) | |||
| 140 | 139 | ||
| 141 | ASSERT_RTNL(); | 140 | ASSERT_RTNL(); |
| 142 | 141 | ||
| 143 | in_dev = kmalloc(sizeof(*in_dev), GFP_KERNEL); | 142 | in_dev = kzalloc(sizeof(*in_dev), GFP_KERNEL); |
| 144 | if (!in_dev) | 143 | if (!in_dev) |
| 145 | goto out; | 144 | goto out; |
| 146 | memset(in_dev, 0, sizeof(*in_dev)); | ||
| 147 | INIT_RCU_HEAD(&in_dev->rcu_head); | 145 | INIT_RCU_HEAD(&in_dev->rcu_head); |
| 148 | memcpy(&in_dev->cnf, &ipv4_devconf_dflt, sizeof(in_dev->cnf)); | 146 | memcpy(&in_dev->cnf, &ipv4_devconf_dflt, sizeof(in_dev->cnf)); |
| 149 | in_dev->cnf.sysctl = NULL; | 147 | in_dev->cnf.sysctl = NULL; |
diff --git a/net/ipv4/esp4.c b/net/ipv4/esp4.c index 4e112738b3fa..fc2f8ce441de 100644 --- a/net/ipv4/esp4.c +++ b/net/ipv4/esp4.c | |||
| @@ -316,12 +316,10 @@ static int esp_init_state(struct xfrm_state *x) | |||
| 316 | if (x->ealg == NULL) | 316 | if (x->ealg == NULL) |
| 317 | goto error; | 317 | goto error; |
| 318 | 318 | ||
| 319 | esp = kmalloc(sizeof(*esp), GFP_KERNEL); | 319 | esp = kzalloc(sizeof(*esp), GFP_KERNEL); |
| 320 | if (esp == NULL) | 320 | if (esp == NULL) |
| 321 | return -ENOMEM; | 321 | return -ENOMEM; |
| 322 | 322 | ||
| 323 | memset(esp, 0, sizeof(*esp)); | ||
| 324 | |||
| 325 | if (x->aalg) { | 323 | if (x->aalg) { |
| 326 | struct xfrm_algo_desc *aalg_desc; | 324 | struct xfrm_algo_desc *aalg_desc; |
| 327 | 325 | ||
diff --git a/net/ipv4/fib_hash.c b/net/ipv4/fib_hash.c index 3c1d32ad35f2..72c633b357cf 100644 --- a/net/ipv4/fib_hash.c +++ b/net/ipv4/fib_hash.c | |||
| @@ -204,11 +204,10 @@ static struct fn_zone * | |||
| 204 | fn_new_zone(struct fn_hash *table, int z) | 204 | fn_new_zone(struct fn_hash *table, int z) |
| 205 | { | 205 | { |
| 206 | int i; | 206 | int i; |
| 207 | struct fn_zone *fz = kmalloc(sizeof(struct fn_zone), GFP_KERNEL); | 207 | struct fn_zone *fz = kzalloc(sizeof(struct fn_zone), GFP_KERNEL); |
| 208 | if (!fz) | 208 | if (!fz) |
| 209 | return NULL; | 209 | return NULL; |
| 210 | 210 | ||
| 211 | memset(fz, 0, sizeof(struct fn_zone)); | ||
| 212 | if (z) { | 211 | if (z) { |
| 213 | fz->fz_divisor = 16; | 212 | fz->fz_divisor = 16; |
| 214 | } else { | 213 | } else { |
| @@ -1046,7 +1045,7 @@ static int fib_seq_open(struct inode *inode, struct file *file) | |||
| 1046 | { | 1045 | { |
| 1047 | struct seq_file *seq; | 1046 | struct seq_file *seq; |
| 1048 | int rc = -ENOMEM; | 1047 | int rc = -ENOMEM; |
| 1049 | struct fib_iter_state *s = kmalloc(sizeof(*s), GFP_KERNEL); | 1048 | struct fib_iter_state *s = kzalloc(sizeof(*s), GFP_KERNEL); |
| 1050 | 1049 | ||
| 1051 | if (!s) | 1050 | if (!s) |
| 1052 | goto out; | 1051 | goto out; |
| @@ -1057,7 +1056,6 @@ static int fib_seq_open(struct inode *inode, struct file *file) | |||
| 1057 | 1056 | ||
| 1058 | seq = file->private_data; | 1057 | seq = file->private_data; |
| 1059 | seq->private = s; | 1058 | seq->private = s; |
| 1060 | memset(s, 0, sizeof(*s)); | ||
| 1061 | out: | 1059 | out: |
| 1062 | return rc; | 1060 | return rc; |
| 1063 | out_kfree: | 1061 | out_kfree: |
diff --git a/net/ipv4/fib_rules.c b/net/ipv4/fib_rules.c index 773b12ba4e3c..79b04718bdfd 100644 --- a/net/ipv4/fib_rules.c +++ b/net/ipv4/fib_rules.c | |||
| @@ -196,10 +196,9 @@ int inet_rtm_newrule(struct sk_buff *skb, struct nlmsghdr* nlh, void *arg) | |||
| 196 | } | 196 | } |
| 197 | } | 197 | } |
| 198 | 198 | ||
| 199 | new_r = kmalloc(sizeof(*new_r), GFP_KERNEL); | 199 | new_r = kzalloc(sizeof(*new_r), GFP_KERNEL); |
| 200 | if (!new_r) | 200 | if (!new_r) |
| 201 | return -ENOMEM; | 201 | return -ENOMEM; |
| 202 | memset(new_r, 0, sizeof(*new_r)); | ||
| 203 | 202 | ||
| 204 | if (rta[RTA_SRC-1]) | 203 | if (rta[RTA_SRC-1]) |
| 205 | memcpy(&new_r->r_src, RTA_DATA(rta[RTA_SRC-1]), 4); | 204 | memcpy(&new_r->r_src, RTA_DATA(rta[RTA_SRC-1]), 4); |
diff --git a/net/ipv4/fib_semantics.c b/net/ipv4/fib_semantics.c index 5f87533684d5..63864bb846e2 100644 --- a/net/ipv4/fib_semantics.c +++ b/net/ipv4/fib_semantics.c | |||
| @@ -709,11 +709,10 @@ fib_create_info(const struct rtmsg *r, struct kern_rta *rta, | |||
| 709 | goto failure; | 709 | goto failure; |
| 710 | } | 710 | } |
| 711 | 711 | ||
| 712 | fi = kmalloc(sizeof(*fi)+nhs*sizeof(struct fib_nh), GFP_KERNEL); | 712 | fi = kzalloc(sizeof(*fi)+nhs*sizeof(struct fib_nh), GFP_KERNEL); |
| 713 | if (fi == NULL) | 713 | if (fi == NULL) |
| 714 | goto failure; | 714 | goto failure; |
| 715 | fib_info_cnt++; | 715 | fib_info_cnt++; |
| 716 | memset(fi, 0, sizeof(*fi)+nhs*sizeof(struct fib_nh)); | ||
| 717 | 716 | ||
| 718 | fi->fib_protocol = r->rtm_protocol; | 717 | fi->fib_protocol = r->rtm_protocol; |
| 719 | 718 | ||
diff --git a/net/ipv4/igmp.c b/net/ipv4/igmp.c index d299c8e547d6..9f4b752f5a33 100644 --- a/net/ipv4/igmp.c +++ b/net/ipv4/igmp.c | |||
| @@ -1028,10 +1028,9 @@ static void igmpv3_add_delrec(struct in_device *in_dev, struct ip_mc_list *im) | |||
| 1028 | * for deleted items allows change reports to use common code with | 1028 | * for deleted items allows change reports to use common code with |
| 1029 | * non-deleted or query-response MCA's. | 1029 | * non-deleted or query-response MCA's. |
| 1030 | */ | 1030 | */ |
| 1031 | pmc = kmalloc(sizeof(*pmc), GFP_KERNEL); | 1031 | pmc = kzalloc(sizeof(*pmc), GFP_KERNEL); |
| 1032 | if (!pmc) | 1032 | if (!pmc) |
| 1033 | return; | 1033 | return; |
| 1034 | memset(pmc, 0, sizeof(*pmc)); | ||
| 1035 | spin_lock_bh(&im->lock); | 1034 | spin_lock_bh(&im->lock); |
| 1036 | pmc->interface = im->interface; | 1035 | pmc->interface = im->interface; |
| 1037 | in_dev_hold(in_dev); | 1036 | in_dev_hold(in_dev); |
| @@ -1529,10 +1528,9 @@ static int ip_mc_add1_src(struct ip_mc_list *pmc, int sfmode, | |||
| 1529 | psf_prev = psf; | 1528 | psf_prev = psf; |
| 1530 | } | 1529 | } |
| 1531 | if (!psf) { | 1530 | if (!psf) { |
| 1532 | psf = kmalloc(sizeof(*psf), GFP_ATOMIC); | 1531 | psf = kzalloc(sizeof(*psf), GFP_ATOMIC); |
| 1533 | if (!psf) | 1532 | if (!psf) |
| 1534 | return -ENOBUFS; | 1533 | return -ENOBUFS; |
| 1535 | memset(psf, 0, sizeof(*psf)); | ||
| 1536 | psf->sf_inaddr = *psfsrc; | 1534 | psf->sf_inaddr = *psfsrc; |
| 1537 | if (psf_prev) { | 1535 | if (psf_prev) { |
| 1538 | psf_prev->sf_next = psf; | 1536 | psf_prev->sf_next = psf; |
| @@ -2380,7 +2378,7 @@ static int igmp_mc_seq_open(struct inode *inode, struct file *file) | |||
| 2380 | { | 2378 | { |
| 2381 | struct seq_file *seq; | 2379 | struct seq_file *seq; |
| 2382 | int rc = -ENOMEM; | 2380 | int rc = -ENOMEM; |
| 2383 | struct igmp_mc_iter_state *s = kmalloc(sizeof(*s), GFP_KERNEL); | 2381 | struct igmp_mc_iter_state *s = kzalloc(sizeof(*s), GFP_KERNEL); |
| 2384 | 2382 | ||
| 2385 | if (!s) | 2383 | if (!s) |
| 2386 | goto out; | 2384 | goto out; |
| @@ -2390,7 +2388,6 @@ static int igmp_mc_seq_open(struct inode *inode, struct file *file) | |||
| 2390 | 2388 | ||
| 2391 | seq = file->private_data; | 2389 | seq = file->private_data; |
| 2392 | seq->private = s; | 2390 | seq->private = s; |
| 2393 | memset(s, 0, sizeof(*s)); | ||
| 2394 | out: | 2391 | out: |
| 2395 | return rc; | 2392 | return rc; |
| 2396 | out_kfree: | 2393 | out_kfree: |
| @@ -2555,7 +2552,7 @@ static int igmp_mcf_seq_open(struct inode *inode, struct file *file) | |||
| 2555 | { | 2552 | { |
| 2556 | struct seq_file *seq; | 2553 | struct seq_file *seq; |
| 2557 | int rc = -ENOMEM; | 2554 | int rc = -ENOMEM; |
| 2558 | struct igmp_mcf_iter_state *s = kmalloc(sizeof(*s), GFP_KERNEL); | 2555 | struct igmp_mcf_iter_state *s = kzalloc(sizeof(*s), GFP_KERNEL); |
| 2559 | 2556 | ||
| 2560 | if (!s) | 2557 | if (!s) |
| 2561 | goto out; | 2558 | goto out; |
| @@ -2565,7 +2562,6 @@ static int igmp_mcf_seq_open(struct inode *inode, struct file *file) | |||
| 2565 | 2562 | ||
| 2566 | seq = file->private_data; | 2563 | seq = file->private_data; |
| 2567 | seq->private = s; | 2564 | seq->private = s; |
| 2568 | memset(s, 0, sizeof(*s)); | ||
| 2569 | out: | 2565 | out: |
| 2570 | return rc; | 2566 | return rc; |
| 2571 | out_kfree: | 2567 | out_kfree: |
diff --git a/net/ipv4/inet_diag.c b/net/ipv4/inet_diag.c index 8e7e41b66c79..492858e6faf0 100644 --- a/net/ipv4/inet_diag.c +++ b/net/ipv4/inet_diag.c | |||
| @@ -909,11 +909,10 @@ static int __init inet_diag_init(void) | |||
| 909 | sizeof(struct inet_diag_handler *)); | 909 | sizeof(struct inet_diag_handler *)); |
| 910 | int err = -ENOMEM; | 910 | int err = -ENOMEM; |
| 911 | 911 | ||
| 912 | inet_diag_table = kmalloc(inet_diag_table_size, GFP_KERNEL); | 912 | inet_diag_table = kzalloc(inet_diag_table_size, GFP_KERNEL); |
| 913 | if (!inet_diag_table) | 913 | if (!inet_diag_table) |
| 914 | goto out; | 914 | goto out; |
| 915 | 915 | ||
| 916 | memset(inet_diag_table, 0, inet_diag_table_size); | ||
| 917 | idiagnl = netlink_kernel_create(NETLINK_INET_DIAG, 0, inet_diag_rcv, | 916 | idiagnl = netlink_kernel_create(NETLINK_INET_DIAG, 0, inet_diag_rcv, |
| 918 | THIS_MODULE); | 917 | THIS_MODULE); |
| 919 | if (idiagnl == NULL) | 918 | if (idiagnl == NULL) |
diff --git a/net/ipv4/ipcomp.c b/net/ipv4/ipcomp.c index 8a8b5cf2f7fe..a0c28b2b756e 100644 --- a/net/ipv4/ipcomp.c +++ b/net/ipv4/ipcomp.c | |||
| @@ -410,11 +410,10 @@ static int ipcomp_init_state(struct xfrm_state *x) | |||
| 410 | goto out; | 410 | goto out; |
| 411 | 411 | ||
| 412 | err = -ENOMEM; | 412 | err = -ENOMEM; |
| 413 | ipcd = kmalloc(sizeof(*ipcd), GFP_KERNEL); | 413 | ipcd = kzalloc(sizeof(*ipcd), GFP_KERNEL); |
| 414 | if (!ipcd) | 414 | if (!ipcd) |
| 415 | goto out; | 415 | goto out; |
| 416 | 416 | ||
| 417 | memset(ipcd, 0, sizeof(*ipcd)); | ||
| 418 | x->props.header_len = 0; | 417 | x->props.header_len = 0; |
| 419 | if (x->props.mode) | 418 | if (x->props.mode) |
| 420 | x->props.header_len += sizeof(struct iphdr); | 419 | x->props.header_len += sizeof(struct iphdr); |
diff --git a/net/ipv4/ipvs/ip_vs_ctl.c b/net/ipv4/ipvs/ip_vs_ctl.c index f28ec6882162..6a28fafe910c 100644 --- a/net/ipv4/ipvs/ip_vs_ctl.c +++ b/net/ipv4/ipvs/ip_vs_ctl.c | |||
| @@ -735,12 +735,11 @@ ip_vs_new_dest(struct ip_vs_service *svc, struct ip_vs_dest_user *udest, | |||
| 735 | if (atype != RTN_LOCAL && atype != RTN_UNICAST) | 735 | if (atype != RTN_LOCAL && atype != RTN_UNICAST) |
| 736 | return -EINVAL; | 736 | return -EINVAL; |
| 737 | 737 | ||
| 738 | dest = kmalloc(sizeof(struct ip_vs_dest), GFP_ATOMIC); | 738 | dest = kzalloc(sizeof(struct ip_vs_dest), GFP_ATOMIC); |
| 739 | if (dest == NULL) { | 739 | if (dest == NULL) { |
| 740 | IP_VS_ERR("ip_vs_new_dest: kmalloc failed.\n"); | 740 | IP_VS_ERR("ip_vs_new_dest: kmalloc failed.\n"); |
| 741 | return -ENOMEM; | 741 | return -ENOMEM; |
| 742 | } | 742 | } |
| 743 | memset(dest, 0, sizeof(struct ip_vs_dest)); | ||
| 744 | 743 | ||
| 745 | dest->protocol = svc->protocol; | 744 | dest->protocol = svc->protocol; |
| 746 | dest->vaddr = svc->addr; | 745 | dest->vaddr = svc->addr; |
| @@ -1050,14 +1049,12 @@ ip_vs_add_service(struct ip_vs_service_user *u, struct ip_vs_service **svc_p) | |||
| 1050 | goto out_mod_dec; | 1049 | goto out_mod_dec; |
| 1051 | } | 1050 | } |
| 1052 | 1051 | ||
| 1053 | svc = (struct ip_vs_service *) | 1052 | svc = kzalloc(sizeof(struct ip_vs_service), GFP_ATOMIC); |
| 1054 | kmalloc(sizeof(struct ip_vs_service), GFP_ATOMIC); | ||
| 1055 | if (svc == NULL) { | 1053 | if (svc == NULL) { |
| 1056 | IP_VS_DBG(1, "ip_vs_add_service: kmalloc failed.\n"); | 1054 | IP_VS_DBG(1, "ip_vs_add_service: kmalloc failed.\n"); |
| 1057 | ret = -ENOMEM; | 1055 | ret = -ENOMEM; |
| 1058 | goto out_err; | 1056 | goto out_err; |
| 1059 | } | 1057 | } |
| 1060 | memset(svc, 0, sizeof(struct ip_vs_service)); | ||
| 1061 | 1058 | ||
| 1062 | /* I'm the first user of the service */ | 1059 | /* I'm the first user of the service */ |
| 1063 | atomic_set(&svc->usecnt, 1); | 1060 | atomic_set(&svc->usecnt, 1); |
| @@ -1797,7 +1794,7 @@ static int ip_vs_info_open(struct inode *inode, struct file *file) | |||
| 1797 | { | 1794 | { |
| 1798 | struct seq_file *seq; | 1795 | struct seq_file *seq; |
| 1799 | int rc = -ENOMEM; | 1796 | int rc = -ENOMEM; |
| 1800 | struct ip_vs_iter *s = kmalloc(sizeof(*s), GFP_KERNEL); | 1797 | struct ip_vs_iter *s = kzalloc(sizeof(*s), GFP_KERNEL); |
| 1801 | 1798 | ||
| 1802 | if (!s) | 1799 | if (!s) |
| 1803 | goto out; | 1800 | goto out; |
| @@ -1808,7 +1805,6 @@ static int ip_vs_info_open(struct inode *inode, struct file *file) | |||
| 1808 | 1805 | ||
| 1809 | seq = file->private_data; | 1806 | seq = file->private_data; |
| 1810 | seq->private = s; | 1807 | seq->private = s; |
| 1811 | memset(s, 0, sizeof(*s)); | ||
| 1812 | out: | 1808 | out: |
| 1813 | return rc; | 1809 | return rc; |
| 1814 | out_kfree: | 1810 | out_kfree: |
diff --git a/net/ipv4/ipvs/ip_vs_est.c b/net/ipv4/ipvs/ip_vs_est.c index 4c1940381ba0..7d68b80c4c19 100644 --- a/net/ipv4/ipvs/ip_vs_est.c +++ b/net/ipv4/ipvs/ip_vs_est.c | |||
| @@ -123,11 +123,10 @@ int ip_vs_new_estimator(struct ip_vs_stats *stats) | |||
| 123 | { | 123 | { |
| 124 | struct ip_vs_estimator *est; | 124 | struct ip_vs_estimator *est; |
| 125 | 125 | ||
| 126 | est = kmalloc(sizeof(*est), GFP_KERNEL); | 126 | est = kzalloc(sizeof(*est), GFP_KERNEL); |
| 127 | if (est == NULL) | 127 | if (est == NULL) |
| 128 | return -ENOMEM; | 128 | return -ENOMEM; |
| 129 | 129 | ||
| 130 | memset(est, 0, sizeof(*est)); | ||
| 131 | est->stats = stats; | 130 | est->stats = stats; |
| 132 | est->last_conns = stats->conns; | 131 | est->last_conns = stats->conns; |
| 133 | est->cps = stats->cps<<10; | 132 | est->cps = stats->cps<<10; |
diff --git a/net/ipv4/netfilter/ipt_CLUSTERIP.c b/net/ipv4/netfilter/ipt_CLUSTERIP.c index cbffeae3f565..d994c5f5744c 100644 --- a/net/ipv4/netfilter/ipt_CLUSTERIP.c +++ b/net/ipv4/netfilter/ipt_CLUSTERIP.c | |||
| @@ -172,11 +172,10 @@ clusterip_config_init(struct ipt_clusterip_tgt_info *i, u_int32_t ip, | |||
| 172 | struct clusterip_config *c; | 172 | struct clusterip_config *c; |
| 173 | char buffer[16]; | 173 | char buffer[16]; |
| 174 | 174 | ||
| 175 | c = kmalloc(sizeof(*c), GFP_ATOMIC); | 175 | c = kzalloc(sizeof(*c), GFP_ATOMIC); |
| 176 | if (!c) | 176 | if (!c) |
| 177 | return NULL; | 177 | return NULL; |
| 178 | 178 | ||
| 179 | memset(c, 0, sizeof(*c)); | ||
| 180 | c->dev = dev; | 179 | c->dev = dev; |
| 181 | c->clusterip = ip; | 180 | c->clusterip = ip; |
| 182 | memcpy(&c->clustermac, &i->clustermac, ETH_ALEN); | 181 | memcpy(&c->clustermac, &i->clustermac, ETH_ALEN); |
diff --git a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c index a891133f00e4..f6f39e814291 100644 --- a/net/ipv4/tcp_ipv4.c +++ b/net/ipv4/tcp_ipv4.c | |||
| @@ -1640,10 +1640,9 @@ static int tcp_seq_open(struct inode *inode, struct file *file) | |||
| 1640 | if (unlikely(afinfo == NULL)) | 1640 | if (unlikely(afinfo == NULL)) |
| 1641 | return -EINVAL; | 1641 | return -EINVAL; |
| 1642 | 1642 | ||
| 1643 | s = kmalloc(sizeof(*s), GFP_KERNEL); | 1643 | s = kzalloc(sizeof(*s), GFP_KERNEL); |
| 1644 | if (!s) | 1644 | if (!s) |
| 1645 | return -ENOMEM; | 1645 | return -ENOMEM; |
| 1646 | memset(s, 0, sizeof(*s)); | ||
| 1647 | s->family = afinfo->family; | 1646 | s->family = afinfo->family; |
| 1648 | s->seq_ops.start = tcp_seq_start; | 1647 | s->seq_ops.start = tcp_seq_start; |
| 1649 | s->seq_ops.next = tcp_seq_next; | 1648 | s->seq_ops.next = tcp_seq_next; |
diff --git a/net/ipv4/udp.c b/net/ipv4/udp.c index 9bfcddad695b..f136cec96d95 100644 --- a/net/ipv4/udp.c +++ b/net/ipv4/udp.c | |||
| @@ -1468,11 +1468,10 @@ static int udp_seq_open(struct inode *inode, struct file *file) | |||
| 1468 | struct udp_seq_afinfo *afinfo = PDE(inode)->data; | 1468 | struct udp_seq_afinfo *afinfo = PDE(inode)->data; |
| 1469 | struct seq_file *seq; | 1469 | struct seq_file *seq; |
| 1470 | int rc = -ENOMEM; | 1470 | int rc = -ENOMEM; |
| 1471 | struct udp_iter_state *s = kmalloc(sizeof(*s), GFP_KERNEL); | 1471 | struct udp_iter_state *s = kzalloc(sizeof(*s), GFP_KERNEL); |
| 1472 | 1472 | ||
| 1473 | if (!s) | 1473 | if (!s) |
| 1474 | goto out; | 1474 | goto out; |
| 1475 | memset(s, 0, sizeof(*s)); | ||
| 1476 | s->family = afinfo->family; | 1475 | s->family = afinfo->family; |
| 1477 | s->seq_ops.start = udp_seq_start; | 1476 | s->seq_ops.start = udp_seq_start; |
| 1478 | s->seq_ops.next = udp_seq_next; | 1477 | s->seq_ops.next = udp_seq_next; |
diff --git a/net/ipv6/ip6_tunnel.c b/net/ipv6/ip6_tunnel.c index bc77c0e1a943..84d7ebdb9d21 100644 --- a/net/ipv6/ip6_tunnel.c +++ b/net/ipv6/ip6_tunnel.c | |||
| @@ -567,10 +567,9 @@ static inline struct ipv6_txoptions *create_tel(__u8 encap_limit) | |||
| 567 | 567 | ||
| 568 | int opt_len = sizeof(*opt) + 8; | 568 | int opt_len = sizeof(*opt) + 8; |
| 569 | 569 | ||
| 570 | if (!(opt = kmalloc(opt_len, GFP_ATOMIC))) { | 570 | if (!(opt = kzalloc(opt_len, GFP_ATOMIC))) { |
| 571 | return NULL; | 571 | return NULL; |
| 572 | } | 572 | } |
| 573 | memset(opt, 0, opt_len); | ||
| 574 | opt->tot_len = opt_len; | 573 | opt->tot_len = opt_len; |
| 575 | opt->dst0opt = (struct ipv6_opt_hdr *) (opt + 1); | 574 | opt->dst0opt = (struct ipv6_opt_hdr *) (opt + 1); |
| 576 | opt->opt_nflen = 8; | 575 | opt->opt_nflen = 8; |
diff --git a/net/irda/ircomm/ircomm_core.c b/net/irda/ircomm/ircomm_core.c index 9c4a902a9dba..ad6b6af3dd97 100644 --- a/net/irda/ircomm/ircomm_core.c +++ b/net/irda/ircomm/ircomm_core.c | |||
| @@ -115,12 +115,10 @@ struct ircomm_cb *ircomm_open(notify_t *notify, __u8 service_type, int line) | |||
| 115 | 115 | ||
| 116 | IRDA_ASSERT(ircomm != NULL, return NULL;); | 116 | IRDA_ASSERT(ircomm != NULL, return NULL;); |
| 117 | 117 | ||
| 118 | self = kmalloc(sizeof(struct ircomm_cb), GFP_ATOMIC); | 118 | self = kzalloc(sizeof(struct ircomm_cb), GFP_ATOMIC); |
| 119 | if (self == NULL) | 119 | if (self == NULL) |
| 120 | return NULL; | 120 | return NULL; |
| 121 | 121 | ||
| 122 | memset(self, 0, sizeof(struct ircomm_cb)); | ||
| 123 | |||
| 124 | self->notify = *notify; | 122 | self->notify = *notify; |
| 125 | self->magic = IRCOMM_MAGIC; | 123 | self->magic = IRCOMM_MAGIC; |
| 126 | 124 | ||
diff --git a/net/irda/ircomm/ircomm_tty.c b/net/irda/ircomm/ircomm_tty.c index cde3b84d4a0e..3bcdb467efc5 100644 --- a/net/irda/ircomm/ircomm_tty.c +++ b/net/irda/ircomm/ircomm_tty.c | |||
| @@ -379,12 +379,11 @@ static int ircomm_tty_open(struct tty_struct *tty, struct file *filp) | |||
| 379 | self = hashbin_lock_find(ircomm_tty, line, NULL); | 379 | self = hashbin_lock_find(ircomm_tty, line, NULL); |
| 380 | if (!self) { | 380 | if (!self) { |
| 381 | /* No, so make new instance */ | 381 | /* No, so make new instance */ |
| 382 | self = kmalloc(sizeof(struct ircomm_tty_cb), GFP_KERNEL); | 382 | self = kzalloc(sizeof(struct ircomm_tty_cb), GFP_KERNEL); |
| 383 | if (self == NULL) { | 383 | if (self == NULL) { |
| 384 | IRDA_ERROR("%s(), kmalloc failed!\n", __FUNCTION__); | 384 | IRDA_ERROR("%s(), kmalloc failed!\n", __FUNCTION__); |
| 385 | return -ENOMEM; | 385 | return -ENOMEM; |
| 386 | } | 386 | } |
| 387 | memset(self, 0, sizeof(struct ircomm_tty_cb)); | ||
| 388 | 387 | ||
| 389 | self->magic = IRCOMM_TTY_MAGIC; | 388 | self->magic = IRCOMM_TTY_MAGIC; |
| 390 | self->flow = FLOW_STOP; | 389 | self->flow = FLOW_STOP; |
diff --git a/net/irda/irda_device.c b/net/irda/irda_device.c index ba40e5495f58..7e7a31798d8d 100644 --- a/net/irda/irda_device.c +++ b/net/irda/irda_device.c | |||
| @@ -401,12 +401,10 @@ dongle_t *irda_device_dongle_init(struct net_device *dev, int type) | |||
| 401 | } | 401 | } |
| 402 | 402 | ||
| 403 | /* Allocate dongle info for this instance */ | 403 | /* Allocate dongle info for this instance */ |
| 404 | dongle = kmalloc(sizeof(dongle_t), GFP_KERNEL); | 404 | dongle = kzalloc(sizeof(dongle_t), GFP_KERNEL); |
| 405 | if (!dongle) | 405 | if (!dongle) |
| 406 | goto out; | 406 | goto out; |
| 407 | 407 | ||
| 408 | memset(dongle, 0, sizeof(dongle_t)); | ||
| 409 | |||
| 410 | /* Bind the registration info to this particular instance */ | 408 | /* Bind the registration info to this particular instance */ |
| 411 | dongle->issue = reg; | 409 | dongle->issue = reg; |
| 412 | dongle->dev = dev; | 410 | dongle->dev = dev; |
diff --git a/net/irda/irias_object.c b/net/irda/irias_object.c index 82e665c79991..a154b1d71c0f 100644 --- a/net/irda/irias_object.c +++ b/net/irda/irias_object.c | |||
| @@ -82,13 +82,12 @@ struct ias_object *irias_new_object( char *name, int id) | |||
| 82 | 82 | ||
| 83 | IRDA_DEBUG( 4, "%s()\n", __FUNCTION__); | 83 | IRDA_DEBUG( 4, "%s()\n", __FUNCTION__); |
| 84 | 84 | ||
| 85 | obj = kmalloc(sizeof(struct ias_object), GFP_ATOMIC); | 85 | obj = kzalloc(sizeof(struct ias_object), GFP_ATOMIC); |
| 86 | if (obj == NULL) { | 86 | if (obj == NULL) { |
| 87 | IRDA_WARNING("%s(), Unable to allocate object!\n", | 87 | IRDA_WARNING("%s(), Unable to allocate object!\n", |
| 88 | __FUNCTION__); | 88 | __FUNCTION__); |
| 89 | return NULL; | 89 | return NULL; |
| 90 | } | 90 | } |
| 91 | memset(obj, 0, sizeof( struct ias_object)); | ||
| 92 | 91 | ||
| 93 | obj->magic = IAS_OBJECT_MAGIC; | 92 | obj->magic = IAS_OBJECT_MAGIC; |
| 94 | obj->name = strndup(name, IAS_MAX_CLASSNAME); | 93 | obj->name = strndup(name, IAS_MAX_CLASSNAME); |
| @@ -346,13 +345,12 @@ void irias_add_integer_attrib(struct ias_object *obj, char *name, int value, | |||
| 346 | IRDA_ASSERT(obj->magic == IAS_OBJECT_MAGIC, return;); | 345 | IRDA_ASSERT(obj->magic == IAS_OBJECT_MAGIC, return;); |
| 347 | IRDA_ASSERT(name != NULL, return;); | 346 | IRDA_ASSERT(name != NULL, return;); |
| 348 | 347 | ||
| 349 | attrib = kmalloc(sizeof(struct ias_attrib), GFP_ATOMIC); | 348 | attrib = kzalloc(sizeof(struct ias_attrib), GFP_ATOMIC); |
| 350 | if (attrib == NULL) { | 349 | if (attrib == NULL) { |
| 351 | IRDA_WARNING("%s: Unable to allocate attribute!\n", | 350 | IRDA_WARNING("%s: Unable to allocate attribute!\n", |
| 352 | __FUNCTION__); | 351 | __FUNCTION__); |
| 353 | return; | 352 | return; |
| 354 | } | 353 | } |
| 355 | memset(attrib, 0, sizeof( struct ias_attrib)); | ||
| 356 | 354 | ||
| 357 | attrib->magic = IAS_ATTRIB_MAGIC; | 355 | attrib->magic = IAS_ATTRIB_MAGIC; |
| 358 | attrib->name = strndup(name, IAS_MAX_ATTRIBNAME); | 356 | attrib->name = strndup(name, IAS_MAX_ATTRIBNAME); |
| @@ -382,13 +380,12 @@ void irias_add_octseq_attrib(struct ias_object *obj, char *name, __u8 *octets, | |||
| 382 | IRDA_ASSERT(name != NULL, return;); | 380 | IRDA_ASSERT(name != NULL, return;); |
| 383 | IRDA_ASSERT(octets != NULL, return;); | 381 | IRDA_ASSERT(octets != NULL, return;); |
| 384 | 382 | ||
| 385 | attrib = kmalloc(sizeof(struct ias_attrib), GFP_ATOMIC); | 383 | attrib = kzalloc(sizeof(struct ias_attrib), GFP_ATOMIC); |
| 386 | if (attrib == NULL) { | 384 | if (attrib == NULL) { |
| 387 | IRDA_WARNING("%s: Unable to allocate attribute!\n", | 385 | IRDA_WARNING("%s: Unable to allocate attribute!\n", |
| 388 | __FUNCTION__); | 386 | __FUNCTION__); |
| 389 | return; | 387 | return; |
| 390 | } | 388 | } |
| 391 | memset(attrib, 0, sizeof( struct ias_attrib)); | ||
| 392 | 389 | ||
| 393 | attrib->magic = IAS_ATTRIB_MAGIC; | 390 | attrib->magic = IAS_ATTRIB_MAGIC; |
| 394 | attrib->name = strndup(name, IAS_MAX_ATTRIBNAME); | 391 | attrib->name = strndup(name, IAS_MAX_ATTRIBNAME); |
| @@ -416,13 +413,12 @@ void irias_add_string_attrib(struct ias_object *obj, char *name, char *value, | |||
| 416 | IRDA_ASSERT(name != NULL, return;); | 413 | IRDA_ASSERT(name != NULL, return;); |
| 417 | IRDA_ASSERT(value != NULL, return;); | 414 | IRDA_ASSERT(value != NULL, return;); |
| 418 | 415 | ||
| 419 | attrib = kmalloc(sizeof( struct ias_attrib), GFP_ATOMIC); | 416 | attrib = kzalloc(sizeof( struct ias_attrib), GFP_ATOMIC); |
| 420 | if (attrib == NULL) { | 417 | if (attrib == NULL) { |
| 421 | IRDA_WARNING("%s: Unable to allocate attribute!\n", | 418 | IRDA_WARNING("%s: Unable to allocate attribute!\n", |
| 422 | __FUNCTION__); | 419 | __FUNCTION__); |
| 423 | return; | 420 | return; |
| 424 | } | 421 | } |
| 425 | memset(attrib, 0, sizeof( struct ias_attrib)); | ||
| 426 | 422 | ||
| 427 | attrib->magic = IAS_ATTRIB_MAGIC; | 423 | attrib->magic = IAS_ATTRIB_MAGIC; |
| 428 | attrib->name = strndup(name, IAS_MAX_ATTRIBNAME); | 424 | attrib->name = strndup(name, IAS_MAX_ATTRIBNAME); |
| @@ -443,12 +439,11 @@ struct ias_value *irias_new_integer_value(int integer) | |||
| 443 | { | 439 | { |
| 444 | struct ias_value *value; | 440 | struct ias_value *value; |
| 445 | 441 | ||
| 446 | value = kmalloc(sizeof(struct ias_value), GFP_ATOMIC); | 442 | value = kzalloc(sizeof(struct ias_value), GFP_ATOMIC); |
| 447 | if (value == NULL) { | 443 | if (value == NULL) { |
| 448 | IRDA_WARNING("%s: Unable to kmalloc!\n", __FUNCTION__); | 444 | IRDA_WARNING("%s: Unable to kmalloc!\n", __FUNCTION__); |
| 449 | return NULL; | 445 | return NULL; |
| 450 | } | 446 | } |
| 451 | memset(value, 0, sizeof(struct ias_value)); | ||
| 452 | 447 | ||
| 453 | value->type = IAS_INTEGER; | 448 | value->type = IAS_INTEGER; |
| 454 | value->len = 4; | 449 | value->len = 4; |
| @@ -469,12 +464,11 @@ struct ias_value *irias_new_string_value(char *string) | |||
| 469 | { | 464 | { |
| 470 | struct ias_value *value; | 465 | struct ias_value *value; |
| 471 | 466 | ||
| 472 | value = kmalloc(sizeof(struct ias_value), GFP_ATOMIC); | 467 | value = kzalloc(sizeof(struct ias_value), GFP_ATOMIC); |
| 473 | if (value == NULL) { | 468 | if (value == NULL) { |
| 474 | IRDA_WARNING("%s: Unable to kmalloc!\n", __FUNCTION__); | 469 | IRDA_WARNING("%s: Unable to kmalloc!\n", __FUNCTION__); |
| 475 | return NULL; | 470 | return NULL; |
| 476 | } | 471 | } |
| 477 | memset( value, 0, sizeof( struct ias_value)); | ||
| 478 | 472 | ||
| 479 | value->type = IAS_STRING; | 473 | value->type = IAS_STRING; |
| 480 | value->charset = CS_ASCII; | 474 | value->charset = CS_ASCII; |
| @@ -495,12 +489,11 @@ struct ias_value *irias_new_octseq_value(__u8 *octseq , int len) | |||
| 495 | { | 489 | { |
| 496 | struct ias_value *value; | 490 | struct ias_value *value; |
| 497 | 491 | ||
| 498 | value = kmalloc(sizeof(struct ias_value), GFP_ATOMIC); | 492 | value = kzalloc(sizeof(struct ias_value), GFP_ATOMIC); |
| 499 | if (value == NULL) { | 493 | if (value == NULL) { |
| 500 | IRDA_WARNING("%s: Unable to kmalloc!\n", __FUNCTION__); | 494 | IRDA_WARNING("%s: Unable to kmalloc!\n", __FUNCTION__); |
| 501 | return NULL; | 495 | return NULL; |
| 502 | } | 496 | } |
| 503 | memset(value, 0, sizeof(struct ias_value)); | ||
| 504 | 497 | ||
| 505 | value->type = IAS_OCT_SEQ; | 498 | value->type = IAS_OCT_SEQ; |
| 506 | /* Check length */ | 499 | /* Check length */ |
| @@ -522,12 +515,11 @@ struct ias_value *irias_new_missing_value(void) | |||
| 522 | { | 515 | { |
| 523 | struct ias_value *value; | 516 | struct ias_value *value; |
| 524 | 517 | ||
| 525 | value = kmalloc(sizeof(struct ias_value), GFP_ATOMIC); | 518 | value = kzalloc(sizeof(struct ias_value), GFP_ATOMIC); |
| 526 | if (value == NULL) { | 519 | if (value == NULL) { |
| 527 | IRDA_WARNING("%s: Unable to kmalloc!\n", __FUNCTION__); | 520 | IRDA_WARNING("%s: Unable to kmalloc!\n", __FUNCTION__); |
| 528 | return NULL; | 521 | return NULL; |
| 529 | } | 522 | } |
| 530 | memset(value, 0, sizeof(struct ias_value)); | ||
| 531 | 523 | ||
| 532 | value->type = IAS_MISSING; | 524 | value->type = IAS_MISSING; |
| 533 | value->len = 0; | 525 | value->len = 0; |
diff --git a/net/irda/irlap.c b/net/irda/irlap.c index 9199c124d200..e7852a07495e 100644 --- a/net/irda/irlap.c +++ b/net/irda/irlap.c | |||
| @@ -116,11 +116,10 @@ struct irlap_cb *irlap_open(struct net_device *dev, struct qos_info *qos, | |||
| 116 | IRDA_DEBUG(4, "%s()\n", __FUNCTION__); | 116 | IRDA_DEBUG(4, "%s()\n", __FUNCTION__); |
| 117 | 117 | ||
| 118 | /* Initialize the irlap structure. */ | 118 | /* Initialize the irlap structure. */ |
| 119 | self = kmalloc(sizeof(struct irlap_cb), GFP_KERNEL); | 119 | self = kzalloc(sizeof(struct irlap_cb), GFP_KERNEL); |
| 120 | if (self == NULL) | 120 | if (self == NULL) |
| 121 | return NULL; | 121 | return NULL; |
| 122 | 122 | ||
| 123 | memset(self, 0, sizeof(struct irlap_cb)); | ||
| 124 | self->magic = LAP_MAGIC; | 123 | self->magic = LAP_MAGIC; |
| 125 | 124 | ||
| 126 | /* Make a binding between the layers */ | 125 | /* Make a binding between the layers */ |
| @@ -1222,7 +1221,7 @@ static int irlap_seq_open(struct inode *inode, struct file *file) | |||
| 1222 | { | 1221 | { |
| 1223 | struct seq_file *seq; | 1222 | struct seq_file *seq; |
| 1224 | int rc = -ENOMEM; | 1223 | int rc = -ENOMEM; |
| 1225 | struct irlap_iter_state *s = kmalloc(sizeof(*s), GFP_KERNEL); | 1224 | struct irlap_iter_state *s = kzalloc(sizeof(*s), GFP_KERNEL); |
| 1226 | 1225 | ||
| 1227 | if (!s) | 1226 | if (!s) |
| 1228 | goto out; | 1227 | goto out; |
| @@ -1238,7 +1237,6 @@ static int irlap_seq_open(struct inode *inode, struct file *file) | |||
| 1238 | 1237 | ||
| 1239 | seq = file->private_data; | 1238 | seq = file->private_data; |
| 1240 | seq->private = s; | 1239 | seq->private = s; |
| 1241 | memset(s, 0, sizeof(*s)); | ||
| 1242 | out: | 1240 | out: |
| 1243 | return rc; | 1241 | return rc; |
| 1244 | out_kfree: | 1242 | out_kfree: |
diff --git a/net/irda/irlap_frame.c b/net/irda/irlap_frame.c index fa5c144ecc0b..ccb983bf0f4a 100644 --- a/net/irda/irlap_frame.c +++ b/net/irda/irlap_frame.c | |||
| @@ -422,11 +422,10 @@ static void irlap_recv_discovery_xid_rsp(struct irlap_cb *self, | |||
| 422 | return; | 422 | return; |
| 423 | } | 423 | } |
| 424 | 424 | ||
| 425 | if ((discovery = kmalloc(sizeof(discovery_t), GFP_ATOMIC)) == NULL) { | 425 | if ((discovery = kzalloc(sizeof(discovery_t), GFP_ATOMIC)) == NULL) { |
| 426 | IRDA_WARNING("%s: kmalloc failed!\n", __FUNCTION__); | 426 | IRDA_WARNING("%s: kmalloc failed!\n", __FUNCTION__); |
| 427 | return; | 427 | return; |
| 428 | } | 428 | } |
| 429 | memset(discovery, 0, sizeof(discovery_t)); | ||
| 430 | 429 | ||
| 431 | discovery->data.daddr = info->daddr; | 430 | discovery->data.daddr = info->daddr; |
| 432 | discovery->data.saddr = self->saddr; | 431 | discovery->data.saddr = self->saddr; |
diff --git a/net/irda/irlmp.c b/net/irda/irlmp.c index 5ee79462b30a..c440913dee14 100644 --- a/net/irda/irlmp.c +++ b/net/irda/irlmp.c | |||
| @@ -78,10 +78,9 @@ int __init irlmp_init(void) | |||
| 78 | { | 78 | { |
| 79 | IRDA_DEBUG(1, "%s()\n", __FUNCTION__); | 79 | IRDA_DEBUG(1, "%s()\n", __FUNCTION__); |
| 80 | /* Initialize the irlmp structure. */ | 80 | /* Initialize the irlmp structure. */ |
| 81 | irlmp = kmalloc( sizeof(struct irlmp_cb), GFP_KERNEL); | 81 | irlmp = kzalloc( sizeof(struct irlmp_cb), GFP_KERNEL); |
| 82 | if (irlmp == NULL) | 82 | if (irlmp == NULL) |
| 83 | return -ENOMEM; | 83 | return -ENOMEM; |
| 84 | memset(irlmp, 0, sizeof(struct irlmp_cb)); | ||
| 85 | 84 | ||
| 86 | irlmp->magic = LMP_MAGIC; | 85 | irlmp->magic = LMP_MAGIC; |
| 87 | 86 | ||
| @@ -160,12 +159,11 @@ struct lsap_cb *irlmp_open_lsap(__u8 slsap_sel, notify_t *notify, __u8 pid) | |||
| 160 | return NULL; | 159 | return NULL; |
| 161 | 160 | ||
| 162 | /* Allocate new instance of a LSAP connection */ | 161 | /* Allocate new instance of a LSAP connection */ |
| 163 | self = kmalloc(sizeof(struct lsap_cb), GFP_ATOMIC); | 162 | self = kzalloc(sizeof(struct lsap_cb), GFP_ATOMIC); |
| 164 | if (self == NULL) { | 163 | if (self == NULL) { |
| 165 | IRDA_ERROR("%s: can't allocate memory\n", __FUNCTION__); | 164 | IRDA_ERROR("%s: can't allocate memory\n", __FUNCTION__); |
| 166 | return NULL; | 165 | return NULL; |
| 167 | } | 166 | } |
| 168 | memset(self, 0, sizeof(struct lsap_cb)); | ||
| 169 | 167 | ||
| 170 | self->magic = LMP_LSAP_MAGIC; | 168 | self->magic = LMP_LSAP_MAGIC; |
| 171 | self->slsap_sel = slsap_sel; | 169 | self->slsap_sel = slsap_sel; |
| @@ -288,12 +286,11 @@ void irlmp_register_link(struct irlap_cb *irlap, __u32 saddr, notify_t *notify) | |||
| 288 | /* | 286 | /* |
| 289 | * Allocate new instance of a LSAP connection | 287 | * Allocate new instance of a LSAP connection |
| 290 | */ | 288 | */ |
| 291 | lap = kmalloc(sizeof(struct lap_cb), GFP_KERNEL); | 289 | lap = kzalloc(sizeof(struct lap_cb), GFP_KERNEL); |
| 292 | if (lap == NULL) { | 290 | if (lap == NULL) { |
| 293 | IRDA_ERROR("%s: unable to kmalloc\n", __FUNCTION__); | 291 | IRDA_ERROR("%s: unable to kmalloc\n", __FUNCTION__); |
| 294 | return; | 292 | return; |
| 295 | } | 293 | } |
| 296 | memset(lap, 0, sizeof(struct lap_cb)); | ||
| 297 | 294 | ||
| 298 | lap->irlap = irlap; | 295 | lap->irlap = irlap; |
| 299 | lap->magic = LMP_LAP_MAGIC; | 296 | lap->magic = LMP_LAP_MAGIC; |
diff --git a/net/irda/irnet/irnet_ppp.c b/net/irda/irnet/irnet_ppp.c index e53bf9e0053e..a1e502ff9070 100644 --- a/net/irda/irnet/irnet_ppp.c +++ b/net/irda/irnet/irnet_ppp.c | |||
| @@ -476,11 +476,10 @@ dev_irnet_open(struct inode * inode, | |||
| 476 | #endif /* SECURE_DEVIRNET */ | 476 | #endif /* SECURE_DEVIRNET */ |
| 477 | 477 | ||
| 478 | /* Allocate a private structure for this IrNET instance */ | 478 | /* Allocate a private structure for this IrNET instance */ |
| 479 | ap = kmalloc(sizeof(*ap), GFP_KERNEL); | 479 | ap = kzalloc(sizeof(*ap), GFP_KERNEL); |
| 480 | DABORT(ap == NULL, -ENOMEM, FS_ERROR, "Can't allocate struct irnet...\n"); | 480 | DABORT(ap == NULL, -ENOMEM, FS_ERROR, "Can't allocate struct irnet...\n"); |
| 481 | 481 | ||
| 482 | /* initialize the irnet structure */ | 482 | /* initialize the irnet structure */ |
| 483 | memset(ap, 0, sizeof(*ap)); | ||
| 484 | ap->file = file; | 483 | ap->file = file; |
| 485 | 484 | ||
| 486 | /* PPP channel setup */ | 485 | /* PPP channel setup */ |
diff --git a/net/irda/irttp.c b/net/irda/irttp.c index 7a3ccb8a6698..42acf1cde737 100644 --- a/net/irda/irttp.c +++ b/net/irda/irttp.c | |||
| @@ -85,10 +85,9 @@ static pi_param_info_t param_info = { pi_major_call_table, 1, 0x0f, 4 }; | |||
| 85 | */ | 85 | */ |
| 86 | int __init irttp_init(void) | 86 | int __init irttp_init(void) |
| 87 | { | 87 | { |
| 88 | irttp = kmalloc(sizeof(struct irttp_cb), GFP_KERNEL); | 88 | irttp = kzalloc(sizeof(struct irttp_cb), GFP_KERNEL); |
| 89 | if (irttp == NULL) | 89 | if (irttp == NULL) |
| 90 | return -ENOMEM; | 90 | return -ENOMEM; |
| 91 | memset(irttp, 0, sizeof(struct irttp_cb)); | ||
| 92 | 91 | ||
| 93 | irttp->magic = TTP_MAGIC; | 92 | irttp->magic = TTP_MAGIC; |
| 94 | 93 | ||
| @@ -390,12 +389,11 @@ struct tsap_cb *irttp_open_tsap(__u8 stsap_sel, int credit, notify_t *notify) | |||
| 390 | return NULL; | 389 | return NULL; |
| 391 | } | 390 | } |
| 392 | 391 | ||
| 393 | self = kmalloc(sizeof(struct tsap_cb), GFP_ATOMIC); | 392 | self = kzalloc(sizeof(struct tsap_cb), GFP_ATOMIC); |
| 394 | if (self == NULL) { | 393 | if (self == NULL) { |
| 395 | IRDA_DEBUG(0, "%s(), unable to kmalloc!\n", __FUNCTION__); | 394 | IRDA_DEBUG(0, "%s(), unable to kmalloc!\n", __FUNCTION__); |
| 396 | return NULL; | 395 | return NULL; |
| 397 | } | 396 | } |
| 398 | memset(self, 0, sizeof(struct tsap_cb)); | ||
| 399 | spin_lock_init(&self->lock); | 397 | spin_lock_init(&self->lock); |
| 400 | 398 | ||
| 401 | /* Initialise todo timer */ | 399 | /* Initialise todo timer */ |
| @@ -1877,7 +1875,7 @@ static int irttp_seq_open(struct inode *inode, struct file *file) | |||
| 1877 | int rc = -ENOMEM; | 1875 | int rc = -ENOMEM; |
| 1878 | struct irttp_iter_state *s; | 1876 | struct irttp_iter_state *s; |
| 1879 | 1877 | ||
| 1880 | s = kmalloc(sizeof(*s), GFP_KERNEL); | 1878 | s = kzalloc(sizeof(*s), GFP_KERNEL); |
| 1881 | if (!s) | 1879 | if (!s) |
| 1882 | goto out; | 1880 | goto out; |
| 1883 | 1881 | ||
| @@ -1887,7 +1885,6 @@ static int irttp_seq_open(struct inode *inode, struct file *file) | |||
| 1887 | 1885 | ||
| 1888 | seq = file->private_data; | 1886 | seq = file->private_data; |
| 1889 | seq->private = s; | 1887 | seq->private = s; |
| 1890 | memset(s, 0, sizeof(*s)); | ||
| 1891 | out: | 1888 | out: |
| 1892 | return rc; | 1889 | return rc; |
| 1893 | out_kfree: | 1890 | out_kfree: |
diff --git a/net/lapb/lapb_iface.c b/net/lapb/lapb_iface.c index aea6616cea3d..d504eed416f6 100644 --- a/net/lapb/lapb_iface.c +++ b/net/lapb/lapb_iface.c | |||
| @@ -115,14 +115,12 @@ static struct lapb_cb *lapb_devtostruct(struct net_device *dev) | |||
| 115 | */ | 115 | */ |
| 116 | static struct lapb_cb *lapb_create_cb(void) | 116 | static struct lapb_cb *lapb_create_cb(void) |
| 117 | { | 117 | { |
| 118 | struct lapb_cb *lapb = kmalloc(sizeof(*lapb), GFP_ATOMIC); | 118 | struct lapb_cb *lapb = kzalloc(sizeof(*lapb), GFP_ATOMIC); |
| 119 | 119 | ||
| 120 | 120 | ||
| 121 | if (!lapb) | 121 | if (!lapb) |
| 122 | goto out; | 122 | goto out; |
| 123 | 123 | ||
| 124 | memset(lapb, 0x00, sizeof(*lapb)); | ||
| 125 | |||
| 126 | skb_queue_head_init(&lapb->write_queue); | 124 | skb_queue_head_init(&lapb->write_queue); |
| 127 | skb_queue_head_init(&lapb->ack_queue); | 125 | skb_queue_head_init(&lapb->ack_queue); |
| 128 | 126 | ||
diff --git a/net/llc/llc_core.c b/net/llc/llc_core.c index bd242a49514a..d12413cff5bd 100644 --- a/net/llc/llc_core.c +++ b/net/llc/llc_core.c | |||
| @@ -33,10 +33,9 @@ unsigned char llc_station_mac_sa[ETH_ALEN]; | |||
| 33 | */ | 33 | */ |
| 34 | static struct llc_sap *llc_sap_alloc(void) | 34 | static struct llc_sap *llc_sap_alloc(void) |
| 35 | { | 35 | { |
| 36 | struct llc_sap *sap = kmalloc(sizeof(*sap), GFP_ATOMIC); | 36 | struct llc_sap *sap = kzalloc(sizeof(*sap), GFP_ATOMIC); |
| 37 | 37 | ||
| 38 | if (sap) { | 38 | if (sap) { |
| 39 | memset(sap, 0, sizeof(*sap)); | ||
| 40 | sap->state = LLC_SAP_STATE_ACTIVE; | 39 | sap->state = LLC_SAP_STATE_ACTIVE; |
| 41 | memcpy(sap->laddr.mac, llc_station_mac_sa, ETH_ALEN); | 40 | memcpy(sap->laddr.mac, llc_station_mac_sa, ETH_ALEN); |
| 42 | rwlock_init(&sap->sk_list.lock); | 41 | rwlock_init(&sap->sk_list.lock); |
diff --git a/net/netlink/af_netlink.c b/net/netlink/af_netlink.c index 55c0adc8f115..b85c1f9f1288 100644 --- a/net/netlink/af_netlink.c +++ b/net/netlink/af_netlink.c | |||
| @@ -562,10 +562,9 @@ static int netlink_alloc_groups(struct sock *sk) | |||
| 562 | if (err) | 562 | if (err) |
| 563 | return err; | 563 | return err; |
| 564 | 564 | ||
| 565 | nlk->groups = kmalloc(NLGRPSZ(groups), GFP_KERNEL); | 565 | nlk->groups = kzalloc(NLGRPSZ(groups), GFP_KERNEL); |
| 566 | if (nlk->groups == NULL) | 566 | if (nlk->groups == NULL) |
| 567 | return -ENOMEM; | 567 | return -ENOMEM; |
| 568 | memset(nlk->groups, 0, NLGRPSZ(groups)); | ||
| 569 | nlk->ngroups = groups; | 568 | nlk->ngroups = groups; |
| 570 | return 0; | 569 | return 0; |
| 571 | } | 570 | } |
| @@ -1393,11 +1392,10 @@ int netlink_dump_start(struct sock *ssk, struct sk_buff *skb, | |||
| 1393 | struct sock *sk; | 1392 | struct sock *sk; |
| 1394 | struct netlink_sock *nlk; | 1393 | struct netlink_sock *nlk; |
| 1395 | 1394 | ||
| 1396 | cb = kmalloc(sizeof(*cb), GFP_KERNEL); | 1395 | cb = kzalloc(sizeof(*cb), GFP_KERNEL); |
| 1397 | if (cb == NULL) | 1396 | if (cb == NULL) |
| 1398 | return -ENOBUFS; | 1397 | return -ENOBUFS; |
| 1399 | 1398 | ||
| 1400 | memset(cb, 0, sizeof(*cb)); | ||
| 1401 | cb->dump = dump; | 1399 | cb->dump = dump; |
| 1402 | cb->done = done; | 1400 | cb->done = done; |
| 1403 | cb->nlh = nlh; | 1401 | cb->nlh = nlh; |
| @@ -1668,7 +1666,7 @@ static int netlink_seq_open(struct inode *inode, struct file *file) | |||
| 1668 | struct nl_seq_iter *iter; | 1666 | struct nl_seq_iter *iter; |
| 1669 | int err; | 1667 | int err; |
| 1670 | 1668 | ||
| 1671 | iter = kmalloc(sizeof(*iter), GFP_KERNEL); | 1669 | iter = kzalloc(sizeof(*iter), GFP_KERNEL); |
| 1672 | if (!iter) | 1670 | if (!iter) |
| 1673 | return -ENOMEM; | 1671 | return -ENOMEM; |
| 1674 | 1672 | ||
| @@ -1678,7 +1676,6 @@ static int netlink_seq_open(struct inode *inode, struct file *file) | |||
| 1678 | return err; | 1676 | return err; |
| 1679 | } | 1677 | } |
| 1680 | 1678 | ||
| 1681 | memset(iter, 0, sizeof(*iter)); | ||
| 1682 | seq = file->private_data; | 1679 | seq = file->private_data; |
| 1683 | seq->private = iter; | 1680 | seq->private = iter; |
| 1684 | return 0; | 1681 | return 0; |
| @@ -1747,15 +1744,13 @@ static int __init netlink_proto_init(void) | |||
| 1747 | if (sizeof(struct netlink_skb_parms) > sizeof(dummy_skb->cb)) | 1744 | if (sizeof(struct netlink_skb_parms) > sizeof(dummy_skb->cb)) |
| 1748 | netlink_skb_parms_too_large(); | 1745 | netlink_skb_parms_too_large(); |
| 1749 | 1746 | ||
| 1750 | nl_table = kmalloc(sizeof(*nl_table) * MAX_LINKS, GFP_KERNEL); | 1747 | nl_table = kcalloc(MAX_LINKS, sizeof(*nl_table), GFP_KERNEL); |
| 1751 | if (!nl_table) { | 1748 | if (!nl_table) { |
| 1752 | enomem: | 1749 | enomem: |
| 1753 | printk(KERN_CRIT "netlink_init: Cannot allocate nl_table\n"); | 1750 | printk(KERN_CRIT "netlink_init: Cannot allocate nl_table\n"); |
| 1754 | return -ENOMEM; | 1751 | return -ENOMEM; |
| 1755 | } | 1752 | } |
| 1756 | 1753 | ||
| 1757 | memset(nl_table, 0, sizeof(*nl_table) * MAX_LINKS); | ||
| 1758 | |||
| 1759 | if (num_physpages >= (128 * 1024)) | 1754 | if (num_physpages >= (128 * 1024)) |
| 1760 | max = num_physpages >> (21 - PAGE_SHIFT); | 1755 | max = num_physpages >> (21 - PAGE_SHIFT); |
| 1761 | else | 1756 | else |
diff --git a/net/rxrpc/connection.c b/net/rxrpc/connection.c index 573b572f8f91..93d2c55ad2d5 100644 --- a/net/rxrpc/connection.c +++ b/net/rxrpc/connection.c | |||
| @@ -58,13 +58,12 @@ static inline int __rxrpc_create_connection(struct rxrpc_peer *peer, | |||
| 58 | _enter("%p",peer); | 58 | _enter("%p",peer); |
| 59 | 59 | ||
| 60 | /* allocate and initialise a connection record */ | 60 | /* allocate and initialise a connection record */ |
| 61 | conn = kmalloc(sizeof(struct rxrpc_connection), GFP_KERNEL); | 61 | conn = kzalloc(sizeof(struct rxrpc_connection), GFP_KERNEL); |
| 62 | if (!conn) { | 62 | if (!conn) { |
| 63 | _leave(" = -ENOMEM"); | 63 | _leave(" = -ENOMEM"); |
| 64 | return -ENOMEM; | 64 | return -ENOMEM; |
| 65 | } | 65 | } |
| 66 | 66 | ||
| 67 | memset(conn, 0, sizeof(struct rxrpc_connection)); | ||
| 68 | atomic_set(&conn->usage, 1); | 67 | atomic_set(&conn->usage, 1); |
| 69 | 68 | ||
| 70 | INIT_LIST_HEAD(&conn->link); | 69 | INIT_LIST_HEAD(&conn->link); |
| @@ -535,13 +534,12 @@ int rxrpc_conn_newmsg(struct rxrpc_connection *conn, | |||
| 535 | return -EINVAL; | 534 | return -EINVAL; |
| 536 | } | 535 | } |
| 537 | 536 | ||
| 538 | msg = kmalloc(sizeof(struct rxrpc_message), alloc_flags); | 537 | msg = kzalloc(sizeof(struct rxrpc_message), alloc_flags); |
| 539 | if (!msg) { | 538 | if (!msg) { |
| 540 | _leave(" = -ENOMEM"); | 539 | _leave(" = -ENOMEM"); |
| 541 | return -ENOMEM; | 540 | return -ENOMEM; |
| 542 | } | 541 | } |
| 543 | 542 | ||
| 544 | memset(msg, 0, sizeof(*msg)); | ||
| 545 | atomic_set(&msg->usage, 1); | 543 | atomic_set(&msg->usage, 1); |
| 546 | 544 | ||
| 547 | INIT_LIST_HEAD(&msg->link); | 545 | INIT_LIST_HEAD(&msg->link); |
diff --git a/net/rxrpc/peer.c b/net/rxrpc/peer.c index ed38f5b17c1b..8a275157a3bb 100644 --- a/net/rxrpc/peer.c +++ b/net/rxrpc/peer.c | |||
| @@ -58,13 +58,12 @@ static int __rxrpc_create_peer(struct rxrpc_transport *trans, __be32 addr, | |||
| 58 | _enter("%p,%08x", trans, ntohl(addr)); | 58 | _enter("%p,%08x", trans, ntohl(addr)); |
| 59 | 59 | ||
| 60 | /* allocate and initialise a peer record */ | 60 | /* allocate and initialise a peer record */ |
| 61 | peer = kmalloc(sizeof(struct rxrpc_peer), GFP_KERNEL); | 61 | peer = kzalloc(sizeof(struct rxrpc_peer), GFP_KERNEL); |
| 62 | if (!peer) { | 62 | if (!peer) { |
| 63 | _leave(" = -ENOMEM"); | 63 | _leave(" = -ENOMEM"); |
| 64 | return -ENOMEM; | 64 | return -ENOMEM; |
| 65 | } | 65 | } |
| 66 | 66 | ||
| 67 | memset(peer, 0, sizeof(struct rxrpc_peer)); | ||
| 68 | atomic_set(&peer->usage, 1); | 67 | atomic_set(&peer->usage, 1); |
| 69 | 68 | ||
| 70 | INIT_LIST_HEAD(&peer->link); | 69 | INIT_LIST_HEAD(&peer->link); |
diff --git a/net/rxrpc/transport.c b/net/rxrpc/transport.c index dbe6105e83a5..465efc86fccf 100644 --- a/net/rxrpc/transport.c +++ b/net/rxrpc/transport.c | |||
| @@ -68,11 +68,10 @@ int rxrpc_create_transport(unsigned short port, | |||
| 68 | 68 | ||
| 69 | _enter("%hu", port); | 69 | _enter("%hu", port); |
| 70 | 70 | ||
| 71 | trans = kmalloc(sizeof(struct rxrpc_transport), GFP_KERNEL); | 71 | trans = kzalloc(sizeof(struct rxrpc_transport), GFP_KERNEL); |
| 72 | if (!trans) | 72 | if (!trans) |
| 73 | return -ENOMEM; | 73 | return -ENOMEM; |
| 74 | 74 | ||
| 75 | memset(trans, 0, sizeof(struct rxrpc_transport)); | ||
| 76 | atomic_set(&trans->usage, 1); | 75 | atomic_set(&trans->usage, 1); |
| 77 | INIT_LIST_HEAD(&trans->services); | 76 | INIT_LIST_HEAD(&trans->services); |
| 78 | INIT_LIST_HEAD(&trans->link); | 77 | INIT_LIST_HEAD(&trans->link); |
| @@ -312,13 +311,12 @@ static int rxrpc_incoming_msg(struct rxrpc_transport *trans, | |||
| 312 | 311 | ||
| 313 | _enter(""); | 312 | _enter(""); |
| 314 | 313 | ||
| 315 | msg = kmalloc(sizeof(struct rxrpc_message), GFP_KERNEL); | 314 | msg = kzalloc(sizeof(struct rxrpc_message), GFP_KERNEL); |
| 316 | if (!msg) { | 315 | if (!msg) { |
| 317 | _leave(" = -ENOMEM"); | 316 | _leave(" = -ENOMEM"); |
| 318 | return -ENOMEM; | 317 | return -ENOMEM; |
| 319 | } | 318 | } |
| 320 | 319 | ||
| 321 | memset(msg, 0, sizeof(*msg)); | ||
| 322 | atomic_set(&msg->usage, 1); | 320 | atomic_set(&msg->usage, 1); |
| 323 | list_add_tail(&msg->link,msgq); | 321 | list_add_tail(&msg->link,msgq); |
| 324 | 322 | ||
diff --git a/net/sched/act_api.c b/net/sched/act_api.c index 9affeeedf107..a2587b52e531 100644 --- a/net/sched/act_api.c +++ b/net/sched/act_api.c | |||
| @@ -312,10 +312,9 @@ struct tc_action *tcf_action_init_1(struct rtattr *rta, struct rtattr *est, | |||
| 312 | } | 312 | } |
| 313 | 313 | ||
| 314 | *err = -ENOMEM; | 314 | *err = -ENOMEM; |
| 315 | a = kmalloc(sizeof(*a), GFP_KERNEL); | 315 | a = kzalloc(sizeof(*a), GFP_KERNEL); |
| 316 | if (a == NULL) | 316 | if (a == NULL) |
| 317 | goto err_mod; | 317 | goto err_mod; |
| 318 | memset(a, 0, sizeof(*a)); | ||
| 319 | 318 | ||
| 320 | /* backward compatibility for policer */ | 319 | /* backward compatibility for policer */ |
| 321 | if (name == NULL) | 320 | if (name == NULL) |
| @@ -492,10 +491,9 @@ tcf_action_get_1(struct rtattr *rta, struct nlmsghdr *n, u32 pid, int *err) | |||
| 492 | index = *(int *)RTA_DATA(tb[TCA_ACT_INDEX - 1]); | 491 | index = *(int *)RTA_DATA(tb[TCA_ACT_INDEX - 1]); |
| 493 | 492 | ||
| 494 | *err = -ENOMEM; | 493 | *err = -ENOMEM; |
| 495 | a = kmalloc(sizeof(struct tc_action), GFP_KERNEL); | 494 | a = kzalloc(sizeof(struct tc_action), GFP_KERNEL); |
| 496 | if (a == NULL) | 495 | if (a == NULL) |
| 497 | return NULL; | 496 | return NULL; |
| 498 | memset(a, 0, sizeof(struct tc_action)); | ||
| 499 | 497 | ||
| 500 | *err = -EINVAL; | 498 | *err = -EINVAL; |
| 501 | a->ops = tc_lookup_action(tb[TCA_ACT_KIND - 1]); | 499 | a->ops = tc_lookup_action(tb[TCA_ACT_KIND - 1]); |
| @@ -531,12 +529,11 @@ static struct tc_action *create_a(int i) | |||
| 531 | { | 529 | { |
| 532 | struct tc_action *act; | 530 | struct tc_action *act; |
| 533 | 531 | ||
| 534 | act = kmalloc(sizeof(*act), GFP_KERNEL); | 532 | act = kzalloc(sizeof(*act), GFP_KERNEL); |
| 535 | if (act == NULL) { | 533 | if (act == NULL) { |
| 536 | printk("create_a: failed to alloc!\n"); | 534 | printk("create_a: failed to alloc!\n"); |
| 537 | return NULL; | 535 | return NULL; |
| 538 | } | 536 | } |
| 539 | memset(act, 0, sizeof(*act)); | ||
| 540 | act->order = i; | 537 | act->order = i; |
| 541 | return act; | 538 | return act; |
| 542 | } | 539 | } |
diff --git a/net/sched/act_pedit.c b/net/sched/act_pedit.c index 58b3a8652042..f257475e0e0c 100644 --- a/net/sched/act_pedit.c +++ b/net/sched/act_pedit.c | |||
| @@ -209,10 +209,9 @@ tcf_pedit_dump(struct sk_buff *skb, struct tc_action *a,int bind, int ref) | |||
| 209 | s = sizeof(*opt) + p->nkeys * sizeof(struct tc_pedit_key); | 209 | s = sizeof(*opt) + p->nkeys * sizeof(struct tc_pedit_key); |
| 210 | 210 | ||
| 211 | /* netlink spinlocks held above us - must use ATOMIC */ | 211 | /* netlink spinlocks held above us - must use ATOMIC */ |
| 212 | opt = kmalloc(s, GFP_ATOMIC); | 212 | opt = kzalloc(s, GFP_ATOMIC); |
| 213 | if (opt == NULL) | 213 | if (opt == NULL) |
| 214 | return -ENOBUFS; | 214 | return -ENOBUFS; |
| 215 | memset(opt, 0, s); | ||
| 216 | 215 | ||
| 217 | memcpy(opt->keys, p->keys, p->nkeys * sizeof(struct tc_pedit_key)); | 216 | memcpy(opt->keys, p->keys, p->nkeys * sizeof(struct tc_pedit_key)); |
| 218 | opt->index = p->index; | 217 | opt->index = p->index; |
diff --git a/net/sched/act_police.c b/net/sched/act_police.c index 47e00bd9625e..da905d7b4b40 100644 --- a/net/sched/act_police.c +++ b/net/sched/act_police.c | |||
| @@ -196,10 +196,9 @@ static int tcf_act_police_locate(struct rtattr *rta, struct rtattr *est, | |||
| 196 | return ret; | 196 | return ret; |
| 197 | } | 197 | } |
| 198 | 198 | ||
| 199 | p = kmalloc(sizeof(*p), GFP_KERNEL); | 199 | p = kzalloc(sizeof(*p), GFP_KERNEL); |
| 200 | if (p == NULL) | 200 | if (p == NULL) |
| 201 | return -ENOMEM; | 201 | return -ENOMEM; |
| 202 | memset(p, 0, sizeof(*p)); | ||
| 203 | 202 | ||
| 204 | ret = ACT_P_CREATED; | 203 | ret = ACT_P_CREATED; |
| 205 | p->refcnt = 1; | 204 | p->refcnt = 1; |
| @@ -429,11 +428,10 @@ struct tcf_police * tcf_police_locate(struct rtattr *rta, struct rtattr *est) | |||
| 429 | return p; | 428 | return p; |
| 430 | } | 429 | } |
| 431 | 430 | ||
| 432 | p = kmalloc(sizeof(*p), GFP_KERNEL); | 431 | p = kzalloc(sizeof(*p), GFP_KERNEL); |
| 433 | if (p == NULL) | 432 | if (p == NULL) |
| 434 | return NULL; | 433 | return NULL; |
| 435 | 434 | ||
| 436 | memset(p, 0, sizeof(*p)); | ||
| 437 | p->refcnt = 1; | 435 | p->refcnt = 1; |
| 438 | spin_lock_init(&p->lock); | 436 | spin_lock_init(&p->lock); |
| 439 | p->stats_lock = &p->lock; | 437 | p->stats_lock = &p->lock; |
diff --git a/net/sched/cls_basic.c b/net/sched/cls_basic.c index 61507f006b11..86cac49a0531 100644 --- a/net/sched/cls_basic.c +++ b/net/sched/cls_basic.c | |||
| @@ -178,19 +178,17 @@ static int basic_change(struct tcf_proto *tp, unsigned long base, u32 handle, | |||
| 178 | 178 | ||
| 179 | err = -ENOBUFS; | 179 | err = -ENOBUFS; |
| 180 | if (head == NULL) { | 180 | if (head == NULL) { |
| 181 | head = kmalloc(sizeof(*head), GFP_KERNEL); | 181 | head = kzalloc(sizeof(*head), GFP_KERNEL); |
| 182 | if (head == NULL) | 182 | if (head == NULL) |
| 183 | goto errout; | 183 | goto errout; |
| 184 | 184 | ||
| 185 | memset(head, 0, sizeof(*head)); | ||
| 186 | INIT_LIST_HEAD(&head->flist); | 185 | INIT_LIST_HEAD(&head->flist); |
| 187 | tp->root = head; | 186 | tp->root = head; |
| 188 | } | 187 | } |
| 189 | 188 | ||
| 190 | f = kmalloc(sizeof(*f), GFP_KERNEL); | 189 | f = kzalloc(sizeof(*f), GFP_KERNEL); |
| 191 | if (f == NULL) | 190 | if (f == NULL) |
| 192 | goto errout; | 191 | goto errout; |
| 193 | memset(f, 0, sizeof(*f)); | ||
| 194 | 192 | ||
| 195 | err = -EINVAL; | 193 | err = -EINVAL; |
| 196 | if (handle) | 194 | if (handle) |
diff --git a/net/sched/cls_fw.c b/net/sched/cls_fw.c index d41de91fc4f6..e6973d9b686d 100644 --- a/net/sched/cls_fw.c +++ b/net/sched/cls_fw.c | |||
| @@ -267,20 +267,18 @@ static int fw_change(struct tcf_proto *tp, unsigned long base, | |||
| 267 | return -EINVAL; | 267 | return -EINVAL; |
| 268 | 268 | ||
| 269 | if (head == NULL) { | 269 | if (head == NULL) { |
| 270 | head = kmalloc(sizeof(struct fw_head), GFP_KERNEL); | 270 | head = kzalloc(sizeof(struct fw_head), GFP_KERNEL); |
| 271 | if (head == NULL) | 271 | if (head == NULL) |
| 272 | return -ENOBUFS; | 272 | return -ENOBUFS; |
| 273 | memset(head, 0, sizeof(*head)); | ||
| 274 | 273 | ||
| 275 | tcf_tree_lock(tp); | 274 | tcf_tree_lock(tp); |
| 276 | tp->root = head; | 275 | tp->root = head; |
| 277 | tcf_tree_unlock(tp); | 276 | tcf_tree_unlock(tp); |
| 278 | } | 277 | } |
| 279 | 278 | ||
| 280 | f = kmalloc(sizeof(struct fw_filter), GFP_KERNEL); | 279 | f = kzalloc(sizeof(struct fw_filter), GFP_KERNEL); |
| 281 | if (f == NULL) | 280 | if (f == NULL) |
| 282 | return -ENOBUFS; | 281 | return -ENOBUFS; |
| 283 | memset(f, 0, sizeof(*f)); | ||
| 284 | 282 | ||
| 285 | f->id = handle; | 283 | f->id = handle; |
| 286 | 284 | ||
diff --git a/net/sched/cls_route.c b/net/sched/cls_route.c index c2e71900f7bd..d3aea730d4c8 100644 --- a/net/sched/cls_route.c +++ b/net/sched/cls_route.c | |||
| @@ -396,10 +396,9 @@ static int route4_set_parms(struct tcf_proto *tp, unsigned long base, | |||
| 396 | h1 = to_hash(nhandle); | 396 | h1 = to_hash(nhandle); |
| 397 | if ((b = head->table[h1]) == NULL) { | 397 | if ((b = head->table[h1]) == NULL) { |
| 398 | err = -ENOBUFS; | 398 | err = -ENOBUFS; |
| 399 | b = kmalloc(sizeof(struct route4_bucket), GFP_KERNEL); | 399 | b = kzalloc(sizeof(struct route4_bucket), GFP_KERNEL); |
| 400 | if (b == NULL) | 400 | if (b == NULL) |
| 401 | goto errout; | 401 | goto errout; |
| 402 | memset(b, 0, sizeof(*b)); | ||
| 403 | 402 | ||
| 404 | tcf_tree_lock(tp); | 403 | tcf_tree_lock(tp); |
| 405 | head->table[h1] = b; | 404 | head->table[h1] = b; |
| @@ -475,20 +474,18 @@ static int route4_change(struct tcf_proto *tp, unsigned long base, | |||
| 475 | 474 | ||
| 476 | err = -ENOBUFS; | 475 | err = -ENOBUFS; |
| 477 | if (head == NULL) { | 476 | if (head == NULL) { |
| 478 | head = kmalloc(sizeof(struct route4_head), GFP_KERNEL); | 477 | head = kzalloc(sizeof(struct route4_head), GFP_KERNEL); |
| 479 | if (head == NULL) | 478 | if (head == NULL) |
| 480 | goto errout; | 479 | goto errout; |
| 481 | memset(head, 0, sizeof(struct route4_head)); | ||
| 482 | 480 | ||
| 483 | tcf_tree_lock(tp); | 481 | tcf_tree_lock(tp); |
| 484 | tp->root = head; | 482 | tp->root = head; |
| 485 | tcf_tree_unlock(tp); | 483 | tcf_tree_unlock(tp); |
| 486 | } | 484 | } |
| 487 | 485 | ||
| 488 | f = kmalloc(sizeof(struct route4_filter), GFP_KERNEL); | 486 | f = kzalloc(sizeof(struct route4_filter), GFP_KERNEL); |
| 489 | if (f == NULL) | 487 | if (f == NULL) |
| 490 | goto errout; | 488 | goto errout; |
| 491 | memset(f, 0, sizeof(*f)); | ||
| 492 | 489 | ||
| 493 | err = route4_set_parms(tp, base, f, handle, head, tb, | 490 | err = route4_set_parms(tp, base, f, handle, head, tb, |
| 494 | tca[TCA_RATE-1], 1); | 491 | tca[TCA_RATE-1], 1); |
diff --git a/net/sched/cls_rsvp.h b/net/sched/cls_rsvp.h index ba8741971629..6e230ecfba05 100644 --- a/net/sched/cls_rsvp.h +++ b/net/sched/cls_rsvp.h | |||
| @@ -240,9 +240,8 @@ static int rsvp_init(struct tcf_proto *tp) | |||
| 240 | { | 240 | { |
| 241 | struct rsvp_head *data; | 241 | struct rsvp_head *data; |
| 242 | 242 | ||
| 243 | data = kmalloc(sizeof(struct rsvp_head), GFP_KERNEL); | 243 | data = kzalloc(sizeof(struct rsvp_head), GFP_KERNEL); |
| 244 | if (data) { | 244 | if (data) { |
| 245 | memset(data, 0, sizeof(struct rsvp_head)); | ||
| 246 | tp->root = data; | 245 | tp->root = data; |
| 247 | return 0; | 246 | return 0; |
| 248 | } | 247 | } |
| @@ -446,11 +445,10 @@ static int rsvp_change(struct tcf_proto *tp, unsigned long base, | |||
| 446 | goto errout2; | 445 | goto errout2; |
| 447 | 446 | ||
| 448 | err = -ENOBUFS; | 447 | err = -ENOBUFS; |
| 449 | f = kmalloc(sizeof(struct rsvp_filter), GFP_KERNEL); | 448 | f = kzalloc(sizeof(struct rsvp_filter), GFP_KERNEL); |
| 450 | if (f == NULL) | 449 | if (f == NULL) |
| 451 | goto errout2; | 450 | goto errout2; |
| 452 | 451 | ||
| 453 | memset(f, 0, sizeof(*f)); | ||
| 454 | h2 = 16; | 452 | h2 = 16; |
| 455 | if (tb[TCA_RSVP_SRC-1]) { | 453 | if (tb[TCA_RSVP_SRC-1]) { |
| 456 | err = -EINVAL; | 454 | err = -EINVAL; |
| @@ -532,10 +530,9 @@ insert: | |||
| 532 | /* No session found. Create new one. */ | 530 | /* No session found. Create new one. */ |
| 533 | 531 | ||
| 534 | err = -ENOBUFS; | 532 | err = -ENOBUFS; |
| 535 | s = kmalloc(sizeof(struct rsvp_session), GFP_KERNEL); | 533 | s = kzalloc(sizeof(struct rsvp_session), GFP_KERNEL); |
| 536 | if (s == NULL) | 534 | if (s == NULL) |
| 537 | goto errout; | 535 | goto errout; |
| 538 | memset(s, 0, sizeof(*s)); | ||
| 539 | memcpy(s->dst, dst, sizeof(s->dst)); | 536 | memcpy(s->dst, dst, sizeof(s->dst)); |
| 540 | 537 | ||
| 541 | if (pinfo) { | 538 | if (pinfo) { |
diff --git a/net/sched/cls_tcindex.c b/net/sched/cls_tcindex.c index 7870e7bb0bac..5af8a59e1503 100644 --- a/net/sched/cls_tcindex.c +++ b/net/sched/cls_tcindex.c | |||
| @@ -148,11 +148,10 @@ static int tcindex_init(struct tcf_proto *tp) | |||
| 148 | struct tcindex_data *p; | 148 | struct tcindex_data *p; |
| 149 | 149 | ||
| 150 | DPRINTK("tcindex_init(tp %p)\n",tp); | 150 | DPRINTK("tcindex_init(tp %p)\n",tp); |
| 151 | p = kmalloc(sizeof(struct tcindex_data),GFP_KERNEL); | 151 | p = kzalloc(sizeof(struct tcindex_data),GFP_KERNEL); |
| 152 | if (!p) | 152 | if (!p) |
| 153 | return -ENOMEM; | 153 | return -ENOMEM; |
| 154 | 154 | ||
| 155 | memset(p, 0, sizeof(*p)); | ||
| 156 | p->mask = 0xffff; | 155 | p->mask = 0xffff; |
| 157 | p->hash = DEFAULT_HASH_SIZE; | 156 | p->hash = DEFAULT_HASH_SIZE; |
| 158 | p->fall_through = 1; | 157 | p->fall_through = 1; |
| @@ -296,16 +295,14 @@ tcindex_set_parms(struct tcf_proto *tp, unsigned long base, u32 handle, | |||
| 296 | err = -ENOMEM; | 295 | err = -ENOMEM; |
| 297 | if (!cp.perfect && !cp.h) { | 296 | if (!cp.perfect && !cp.h) { |
| 298 | if (valid_perfect_hash(&cp)) { | 297 | if (valid_perfect_hash(&cp)) { |
| 299 | cp.perfect = kmalloc(cp.hash * sizeof(*r), GFP_KERNEL); | 298 | cp.perfect = kcalloc(cp.hash, sizeof(*r), GFP_KERNEL); |
| 300 | if (!cp.perfect) | 299 | if (!cp.perfect) |
| 301 | goto errout; | 300 | goto errout; |
| 302 | memset(cp.perfect, 0, cp.hash * sizeof(*r)); | ||
| 303 | balloc = 1; | 301 | balloc = 1; |
| 304 | } else { | 302 | } else { |
| 305 | cp.h = kmalloc(cp.hash * sizeof(f), GFP_KERNEL); | 303 | cp.h = kcalloc(cp.hash, sizeof(f), GFP_KERNEL); |
| 306 | if (!cp.h) | 304 | if (!cp.h) |
| 307 | goto errout; | 305 | goto errout; |
| 308 | memset(cp.h, 0, cp.hash * sizeof(f)); | ||
| 309 | balloc = 2; | 306 | balloc = 2; |
| 310 | } | 307 | } |
| 311 | } | 308 | } |
| @@ -316,10 +313,9 @@ tcindex_set_parms(struct tcf_proto *tp, unsigned long base, u32 handle, | |||
| 316 | r = tcindex_lookup(&cp, handle) ? : &new_filter_result; | 313 | r = tcindex_lookup(&cp, handle) ? : &new_filter_result; |
| 317 | 314 | ||
| 318 | if (r == &new_filter_result) { | 315 | if (r == &new_filter_result) { |
| 319 | f = kmalloc(sizeof(*f), GFP_KERNEL); | 316 | f = kzalloc(sizeof(*f), GFP_KERNEL); |
| 320 | if (!f) | 317 | if (!f) |
| 321 | goto errout_alloc; | 318 | goto errout_alloc; |
| 322 | memset(f, 0, sizeof(*f)); | ||
| 323 | } | 319 | } |
| 324 | 320 | ||
| 325 | if (tb[TCA_TCINDEX_CLASSID-1]) { | 321 | if (tb[TCA_TCINDEX_CLASSID-1]) { |
diff --git a/net/sched/cls_u32.c b/net/sched/cls_u32.c index d712edcd1bcf..eea366966740 100644 --- a/net/sched/cls_u32.c +++ b/net/sched/cls_u32.c | |||
| @@ -307,23 +307,21 @@ static int u32_init(struct tcf_proto *tp) | |||
| 307 | if (tp_c->q == tp->q) | 307 | if (tp_c->q == tp->q) |
| 308 | break; | 308 | break; |
| 309 | 309 | ||
| 310 | root_ht = kmalloc(sizeof(*root_ht), GFP_KERNEL); | 310 | root_ht = kzalloc(sizeof(*root_ht), GFP_KERNEL); |
| 311 | if (root_ht == NULL) | 311 | if (root_ht == NULL) |
| 312 | return -ENOBUFS; | 312 | return -ENOBUFS; |
| 313 | 313 | ||
| 314 | memset(root_ht, 0, sizeof(*root_ht)); | ||
| 315 | root_ht->divisor = 0; | 314 | root_ht->divisor = 0; |
| 316 | root_ht->refcnt++; | 315 | root_ht->refcnt++; |
| 317 | root_ht->handle = tp_c ? gen_new_htid(tp_c) : 0x80000000; | 316 | root_ht->handle = tp_c ? gen_new_htid(tp_c) : 0x80000000; |
| 318 | root_ht->prio = tp->prio; | 317 | root_ht->prio = tp->prio; |
| 319 | 318 | ||
| 320 | if (tp_c == NULL) { | 319 | if (tp_c == NULL) { |
| 321 | tp_c = kmalloc(sizeof(*tp_c), GFP_KERNEL); | 320 | tp_c = kzalloc(sizeof(*tp_c), GFP_KERNEL); |
| 322 | if (tp_c == NULL) { | 321 | if (tp_c == NULL) { |
| 323 | kfree(root_ht); | 322 | kfree(root_ht); |
| 324 | return -ENOBUFS; | 323 | return -ENOBUFS; |
| 325 | } | 324 | } |
| 326 | memset(tp_c, 0, sizeof(*tp_c)); | ||
| 327 | tp_c->q = tp->q; | 325 | tp_c->q = tp->q; |
| 328 | tp_c->next = u32_list; | 326 | tp_c->next = u32_list; |
| 329 | u32_list = tp_c; | 327 | u32_list = tp_c; |
| @@ -571,10 +569,9 @@ static int u32_change(struct tcf_proto *tp, unsigned long base, u32 handle, | |||
| 571 | if (handle == 0) | 569 | if (handle == 0) |
| 572 | return -ENOMEM; | 570 | return -ENOMEM; |
| 573 | } | 571 | } |
| 574 | ht = kmalloc(sizeof(*ht) + divisor*sizeof(void*), GFP_KERNEL); | 572 | ht = kzalloc(sizeof(*ht) + divisor*sizeof(void*), GFP_KERNEL); |
| 575 | if (ht == NULL) | 573 | if (ht == NULL) |
| 576 | return -ENOBUFS; | 574 | return -ENOBUFS; |
| 577 | memset(ht, 0, sizeof(*ht) + divisor*sizeof(void*)); | ||
| 578 | ht->tp_c = tp_c; | 575 | ht->tp_c = tp_c; |
| 579 | ht->refcnt = 0; | 576 | ht->refcnt = 0; |
| 580 | ht->divisor = divisor; | 577 | ht->divisor = divisor; |
| @@ -617,18 +614,16 @@ static int u32_change(struct tcf_proto *tp, unsigned long base, u32 handle, | |||
| 617 | 614 | ||
| 618 | s = RTA_DATA(tb[TCA_U32_SEL-1]); | 615 | s = RTA_DATA(tb[TCA_U32_SEL-1]); |
| 619 | 616 | ||
| 620 | n = kmalloc(sizeof(*n) + s->nkeys*sizeof(struct tc_u32_key), GFP_KERNEL); | 617 | n = kzalloc(sizeof(*n) + s->nkeys*sizeof(struct tc_u32_key), GFP_KERNEL); |
| 621 | if (n == NULL) | 618 | if (n == NULL) |
| 622 | return -ENOBUFS; | 619 | return -ENOBUFS; |
| 623 | 620 | ||
| 624 | memset(n, 0, sizeof(*n) + s->nkeys*sizeof(struct tc_u32_key)); | ||
| 625 | #ifdef CONFIG_CLS_U32_PERF | 621 | #ifdef CONFIG_CLS_U32_PERF |
| 626 | n->pf = kmalloc(sizeof(struct tc_u32_pcnt) + s->nkeys*sizeof(u64), GFP_KERNEL); | 622 | n->pf = kzalloc(sizeof(struct tc_u32_pcnt) + s->nkeys*sizeof(u64), GFP_KERNEL); |
| 627 | if (n->pf == NULL) { | 623 | if (n->pf == NULL) { |
| 628 | kfree(n); | 624 | kfree(n); |
| 629 | return -ENOBUFS; | 625 | return -ENOBUFS; |
| 630 | } | 626 | } |
| 631 | memset(n->pf, 0, sizeof(struct tc_u32_pcnt) + s->nkeys*sizeof(u64)); | ||
| 632 | #endif | 627 | #endif |
| 633 | 628 | ||
| 634 | memcpy(&n->sel, s, sizeof(*s) + s->nkeys*sizeof(struct tc_u32_key)); | 629 | memcpy(&n->sel, s, sizeof(*s) + s->nkeys*sizeof(struct tc_u32_key)); |
diff --git a/net/sched/em_meta.c b/net/sched/em_meta.c index 698372954f4d..61e3b740ab1a 100644 --- a/net/sched/em_meta.c +++ b/net/sched/em_meta.c | |||
| @@ -773,10 +773,9 @@ static int em_meta_change(struct tcf_proto *tp, void *data, int len, | |||
| 773 | TCF_META_ID(hdr->right.kind) > TCF_META_ID_MAX) | 773 | TCF_META_ID(hdr->right.kind) > TCF_META_ID_MAX) |
| 774 | goto errout; | 774 | goto errout; |
| 775 | 775 | ||
| 776 | meta = kmalloc(sizeof(*meta), GFP_KERNEL); | 776 | meta = kzalloc(sizeof(*meta), GFP_KERNEL); |
| 777 | if (meta == NULL) | 777 | if (meta == NULL) |
| 778 | goto errout; | 778 | goto errout; |
| 779 | memset(meta, 0, sizeof(*meta)); | ||
| 780 | 779 | ||
| 781 | memcpy(&meta->lvalue.hdr, &hdr->left, sizeof(hdr->left)); | 780 | memcpy(&meta->lvalue.hdr, &hdr->left, sizeof(hdr->left)); |
| 782 | memcpy(&meta->rvalue.hdr, &hdr->right, sizeof(hdr->right)); | 781 | memcpy(&meta->rvalue.hdr, &hdr->right, sizeof(hdr->right)); |
diff --git a/net/sched/ematch.c b/net/sched/ematch.c index 2405a86093a2..0fd0768a17c6 100644 --- a/net/sched/ematch.c +++ b/net/sched/ematch.c | |||
| @@ -321,10 +321,9 @@ int tcf_em_tree_validate(struct tcf_proto *tp, struct rtattr *rta, | |||
| 321 | list_len = RTA_PAYLOAD(rt_list); | 321 | list_len = RTA_PAYLOAD(rt_list); |
| 322 | matches_len = tree_hdr->nmatches * sizeof(*em); | 322 | matches_len = tree_hdr->nmatches * sizeof(*em); |
| 323 | 323 | ||
| 324 | tree->matches = kmalloc(matches_len, GFP_KERNEL); | 324 | tree->matches = kzalloc(matches_len, GFP_KERNEL); |
| 325 | if (tree->matches == NULL) | 325 | if (tree->matches == NULL) |
| 326 | goto errout; | 326 | goto errout; |
| 327 | memset(tree->matches, 0, matches_len); | ||
| 328 | 327 | ||
| 329 | /* We do not use rtattr_parse_nested here because the maximum | 328 | /* We do not use rtattr_parse_nested here because the maximum |
| 330 | * number of attributes is unknown. This saves us the allocation | 329 | * number of attributes is unknown. This saves us the allocation |
diff --git a/net/sched/estimator.c b/net/sched/estimator.c index 5d3ae03e22a7..0ebc98e9be2d 100644 --- a/net/sched/estimator.c +++ b/net/sched/estimator.c | |||
| @@ -139,11 +139,10 @@ int qdisc_new_estimator(struct tc_stats *stats, spinlock_t *stats_lock, struct r | |||
| 139 | if (parm->interval < -2 || parm->interval > 3) | 139 | if (parm->interval < -2 || parm->interval > 3) |
| 140 | return -EINVAL; | 140 | return -EINVAL; |
| 141 | 141 | ||
| 142 | est = kmalloc(sizeof(*est), GFP_KERNEL); | 142 | est = kzalloc(sizeof(*est), GFP_KERNEL); |
| 143 | if (est == NULL) | 143 | if (est == NULL) |
| 144 | return -ENOBUFS; | 144 | return -ENOBUFS; |
| 145 | 145 | ||
| 146 | memset(est, 0, sizeof(*est)); | ||
| 147 | est->interval = parm->interval + 2; | 146 | est->interval = parm->interval + 2; |
| 148 | est->stats = stats; | 147 | est->stats = stats; |
| 149 | est->stats_lock = stats_lock; | 148 | est->stats_lock = stats_lock; |
diff --git a/net/sched/sch_cbq.c b/net/sched/sch_cbq.c index 80b7f6a8d008..bac881bfe362 100644 --- a/net/sched/sch_cbq.c +++ b/net/sched/sch_cbq.c | |||
| @@ -1926,10 +1926,9 @@ cbq_change_class(struct Qdisc *sch, u32 classid, u32 parentid, struct rtattr **t | |||
| 1926 | } | 1926 | } |
| 1927 | 1927 | ||
| 1928 | err = -ENOBUFS; | 1928 | err = -ENOBUFS; |
| 1929 | cl = kmalloc(sizeof(*cl), GFP_KERNEL); | 1929 | cl = kzalloc(sizeof(*cl), GFP_KERNEL); |
| 1930 | if (cl == NULL) | 1930 | if (cl == NULL) |
| 1931 | goto failure; | 1931 | goto failure; |
| 1932 | memset(cl, 0, sizeof(*cl)); | ||
| 1933 | cl->R_tab = rtab; | 1932 | cl->R_tab = rtab; |
| 1934 | rtab = NULL; | 1933 | rtab = NULL; |
| 1935 | cl->refcnt = 1; | 1934 | cl->refcnt = 1; |
diff --git a/net/sched/sch_generic.c b/net/sched/sch_generic.c index d735f51686a1..0834c2ee9174 100644 --- a/net/sched/sch_generic.c +++ b/net/sched/sch_generic.c | |||
| @@ -432,10 +432,9 @@ struct Qdisc *qdisc_alloc(struct net_device *dev, struct Qdisc_ops *ops) | |||
| 432 | size = QDISC_ALIGN(sizeof(*sch)); | 432 | size = QDISC_ALIGN(sizeof(*sch)); |
| 433 | size += ops->priv_size + (QDISC_ALIGNTO - 1); | 433 | size += ops->priv_size + (QDISC_ALIGNTO - 1); |
| 434 | 434 | ||
| 435 | p = kmalloc(size, GFP_KERNEL); | 435 | p = kzalloc(size, GFP_KERNEL); |
| 436 | if (!p) | 436 | if (!p) |
| 437 | goto errout; | 437 | goto errout; |
| 438 | memset(p, 0, size); | ||
| 439 | sch = (struct Qdisc *) QDISC_ALIGN((unsigned long) p); | 438 | sch = (struct Qdisc *) QDISC_ALIGN((unsigned long) p); |
| 440 | sch->padded = (char *) sch - (char *) p; | 439 | sch->padded = (char *) sch - (char *) p; |
| 441 | 440 | ||
diff --git a/net/sched/sch_gred.c b/net/sched/sch_gred.c index 0cafdd5feb1b..18e81a8ffb01 100644 --- a/net/sched/sch_gred.c +++ b/net/sched/sch_gred.c | |||
| @@ -406,10 +406,9 @@ static inline int gred_change_vq(struct Qdisc *sch, int dp, | |||
| 406 | struct gred_sched_data *q; | 406 | struct gred_sched_data *q; |
| 407 | 407 | ||
| 408 | if (table->tab[dp] == NULL) { | 408 | if (table->tab[dp] == NULL) { |
| 409 | table->tab[dp] = kmalloc(sizeof(*q), GFP_KERNEL); | 409 | table->tab[dp] = kzalloc(sizeof(*q), GFP_KERNEL); |
| 410 | if (table->tab[dp] == NULL) | 410 | if (table->tab[dp] == NULL) |
| 411 | return -ENOMEM; | 411 | return -ENOMEM; |
| 412 | memset(table->tab[dp], 0, sizeof(*q)); | ||
| 413 | } | 412 | } |
| 414 | 413 | ||
| 415 | q = table->tab[dp]; | 414 | q = table->tab[dp]; |
diff --git a/net/sched/sch_hfsc.c b/net/sched/sch_hfsc.c index 6b1b4a981e88..6a6735a2ed35 100644 --- a/net/sched/sch_hfsc.c +++ b/net/sched/sch_hfsc.c | |||
| @@ -1123,10 +1123,9 @@ hfsc_change_class(struct Qdisc *sch, u32 classid, u32 parentid, | |||
| 1123 | if (rsc == NULL && fsc == NULL) | 1123 | if (rsc == NULL && fsc == NULL) |
| 1124 | return -EINVAL; | 1124 | return -EINVAL; |
| 1125 | 1125 | ||
| 1126 | cl = kmalloc(sizeof(struct hfsc_class), GFP_KERNEL); | 1126 | cl = kzalloc(sizeof(struct hfsc_class), GFP_KERNEL); |
| 1127 | if (cl == NULL) | 1127 | if (cl == NULL) |
| 1128 | return -ENOBUFS; | 1128 | return -ENOBUFS; |
| 1129 | memset(cl, 0, sizeof(struct hfsc_class)); | ||
| 1130 | 1129 | ||
| 1131 | if (rsc != NULL) | 1130 | if (rsc != NULL) |
| 1132 | hfsc_change_rsc(cl, rsc, 0); | 1131 | hfsc_change_rsc(cl, rsc, 0); |
diff --git a/net/sched/sch_htb.c b/net/sched/sch_htb.c index cc5f339e6f91..880a3394a51f 100644 --- a/net/sched/sch_htb.c +++ b/net/sched/sch_htb.c | |||
| @@ -1559,10 +1559,9 @@ static int htb_change_class(struct Qdisc *sch, u32 classid, | |||
| 1559 | goto failure; | 1559 | goto failure; |
| 1560 | } | 1560 | } |
| 1561 | err = -ENOBUFS; | 1561 | err = -ENOBUFS; |
| 1562 | if ((cl = kmalloc(sizeof(*cl), GFP_KERNEL)) == NULL) | 1562 | if ((cl = kzalloc(sizeof(*cl), GFP_KERNEL)) == NULL) |
| 1563 | goto failure; | 1563 | goto failure; |
| 1564 | 1564 | ||
| 1565 | memset(cl, 0, sizeof(*cl)); | ||
| 1566 | cl->refcnt = 1; | 1565 | cl->refcnt = 1; |
| 1567 | INIT_LIST_HEAD(&cl->sibling); | 1566 | INIT_LIST_HEAD(&cl->sibling); |
| 1568 | INIT_LIST_HEAD(&cl->hlist); | 1567 | INIT_LIST_HEAD(&cl->hlist); |
diff --git a/net/sunrpc/auth_gss/auth_gss.c b/net/sunrpc/auth_gss/auth_gss.c index 519ebc17c028..4a9aa9393b97 100644 --- a/net/sunrpc/auth_gss/auth_gss.c +++ b/net/sunrpc/auth_gss/auth_gss.c | |||
| @@ -225,9 +225,8 @@ gss_alloc_context(void) | |||
| 225 | { | 225 | { |
| 226 | struct gss_cl_ctx *ctx; | 226 | struct gss_cl_ctx *ctx; |
| 227 | 227 | ||
| 228 | ctx = kmalloc(sizeof(*ctx), GFP_KERNEL); | 228 | ctx = kzalloc(sizeof(*ctx), GFP_KERNEL); |
| 229 | if (ctx != NULL) { | 229 | if (ctx != NULL) { |
| 230 | memset(ctx, 0, sizeof(*ctx)); | ||
| 231 | ctx->gc_proc = RPC_GSS_PROC_DATA; | 230 | ctx->gc_proc = RPC_GSS_PROC_DATA; |
| 232 | ctx->gc_seq = 1; /* NetApp 6.4R1 doesn't accept seq. no. 0 */ | 231 | ctx->gc_seq = 1; /* NetApp 6.4R1 doesn't accept seq. no. 0 */ |
| 233 | spin_lock_init(&ctx->gc_seq_lock); | 232 | spin_lock_init(&ctx->gc_seq_lock); |
| @@ -391,9 +390,8 @@ gss_alloc_msg(struct gss_auth *gss_auth, uid_t uid) | |||
| 391 | { | 390 | { |
| 392 | struct gss_upcall_msg *gss_msg; | 391 | struct gss_upcall_msg *gss_msg; |
| 393 | 392 | ||
| 394 | gss_msg = kmalloc(sizeof(*gss_msg), GFP_KERNEL); | 393 | gss_msg = kzalloc(sizeof(*gss_msg), GFP_KERNEL); |
| 395 | if (gss_msg != NULL) { | 394 | if (gss_msg != NULL) { |
| 396 | memset(gss_msg, 0, sizeof(*gss_msg)); | ||
| 397 | INIT_LIST_HEAD(&gss_msg->list); | 395 | INIT_LIST_HEAD(&gss_msg->list); |
| 398 | rpc_init_wait_queue(&gss_msg->rpc_waitqueue, "RPCSEC_GSS upcall waitq"); | 396 | rpc_init_wait_queue(&gss_msg->rpc_waitqueue, "RPCSEC_GSS upcall waitq"); |
| 399 | init_waitqueue_head(&gss_msg->waitqueue); | 397 | init_waitqueue_head(&gss_msg->waitqueue); |
| @@ -776,10 +774,9 @@ gss_create_cred(struct rpc_auth *auth, struct auth_cred *acred, int flags) | |||
| 776 | dprintk("RPC: gss_create_cred for uid %d, flavor %d\n", | 774 | dprintk("RPC: gss_create_cred for uid %d, flavor %d\n", |
| 777 | acred->uid, auth->au_flavor); | 775 | acred->uid, auth->au_flavor); |
| 778 | 776 | ||
| 779 | if (!(cred = kmalloc(sizeof(*cred), GFP_KERNEL))) | 777 | if (!(cred = kzalloc(sizeof(*cred), GFP_KERNEL))) |
| 780 | goto out_err; | 778 | goto out_err; |
| 781 | 779 | ||
| 782 | memset(cred, 0, sizeof(*cred)); | ||
| 783 | atomic_set(&cred->gc_count, 1); | 780 | atomic_set(&cred->gc_count, 1); |
| 784 | cred->gc_uid = acred->uid; | 781 | cred->gc_uid = acred->uid; |
| 785 | /* | 782 | /* |
diff --git a/net/sunrpc/auth_gss/gss_krb5_mech.c b/net/sunrpc/auth_gss/gss_krb5_mech.c index b8714a87b34c..70e1e53a632b 100644 --- a/net/sunrpc/auth_gss/gss_krb5_mech.c +++ b/net/sunrpc/auth_gss/gss_krb5_mech.c | |||
| @@ -129,9 +129,8 @@ gss_import_sec_context_kerberos(const void *p, | |||
| 129 | const void *end = (const void *)((const char *)p + len); | 129 | const void *end = (const void *)((const char *)p + len); |
| 130 | struct krb5_ctx *ctx; | 130 | struct krb5_ctx *ctx; |
| 131 | 131 | ||
| 132 | if (!(ctx = kmalloc(sizeof(*ctx), GFP_KERNEL))) | 132 | if (!(ctx = kzalloc(sizeof(*ctx), GFP_KERNEL))) |
| 133 | goto out_err; | 133 | goto out_err; |
| 134 | memset(ctx, 0, sizeof(*ctx)); | ||
| 135 | 134 | ||
| 136 | p = simple_get_bytes(p, end, &ctx->initiate, sizeof(ctx->initiate)); | 135 | p = simple_get_bytes(p, end, &ctx->initiate, sizeof(ctx->initiate)); |
| 137 | if (IS_ERR(p)) | 136 | if (IS_ERR(p)) |
diff --git a/net/sunrpc/auth_gss/gss_mech_switch.c b/net/sunrpc/auth_gss/gss_mech_switch.c index d88468d21c37..3db745379d06 100644 --- a/net/sunrpc/auth_gss/gss_mech_switch.c +++ b/net/sunrpc/auth_gss/gss_mech_switch.c | |||
| @@ -237,9 +237,8 @@ gss_import_sec_context(const void *input_token, size_t bufsize, | |||
| 237 | struct gss_api_mech *mech, | 237 | struct gss_api_mech *mech, |
| 238 | struct gss_ctx **ctx_id) | 238 | struct gss_ctx **ctx_id) |
| 239 | { | 239 | { |
| 240 | if (!(*ctx_id = kmalloc(sizeof(**ctx_id), GFP_KERNEL))) | 240 | if (!(*ctx_id = kzalloc(sizeof(**ctx_id), GFP_KERNEL))) |
| 241 | return GSS_S_FAILURE; | 241 | return GSS_S_FAILURE; |
| 242 | memset(*ctx_id, 0, sizeof(**ctx_id)); | ||
| 243 | (*ctx_id)->mech_type = gss_mech_get(mech); | 242 | (*ctx_id)->mech_type = gss_mech_get(mech); |
| 244 | 243 | ||
| 245 | return mech->gm_ops | 244 | return mech->gm_ops |
diff --git a/net/sunrpc/auth_gss/gss_spkm3_mech.c b/net/sunrpc/auth_gss/gss_spkm3_mech.c index 3d0432aa45c1..88dcb52d171b 100644 --- a/net/sunrpc/auth_gss/gss_spkm3_mech.c +++ b/net/sunrpc/auth_gss/gss_spkm3_mech.c | |||
| @@ -152,9 +152,8 @@ gss_import_sec_context_spkm3(const void *p, size_t len, | |||
| 152 | const void *end = (const void *)((const char *)p + len); | 152 | const void *end = (const void *)((const char *)p + len); |
| 153 | struct spkm3_ctx *ctx; | 153 | struct spkm3_ctx *ctx; |
| 154 | 154 | ||
| 155 | if (!(ctx = kmalloc(sizeof(*ctx), GFP_KERNEL))) | 155 | if (!(ctx = kzalloc(sizeof(*ctx), GFP_KERNEL))) |
| 156 | goto out_err; | 156 | goto out_err; |
| 157 | memset(ctx, 0, sizeof(*ctx)); | ||
| 158 | 157 | ||
| 159 | p = simple_get_netobj(p, end, &ctx->ctx_id); | 158 | p = simple_get_netobj(p, end, &ctx->ctx_id); |
| 160 | if (IS_ERR(p)) | 159 | if (IS_ERR(p)) |
diff --git a/net/sunrpc/auth_gss/gss_spkm3_token.c b/net/sunrpc/auth_gss/gss_spkm3_token.c index af0d7ce74686..854a983ccf26 100644 --- a/net/sunrpc/auth_gss/gss_spkm3_token.c +++ b/net/sunrpc/auth_gss/gss_spkm3_token.c | |||
| @@ -90,10 +90,9 @@ asn1_bitstring_len(struct xdr_netobj *in, int *enclen, int *zerobits) | |||
| 90 | int | 90 | int |
| 91 | decode_asn1_bitstring(struct xdr_netobj *out, char *in, int enclen, int explen) | 91 | decode_asn1_bitstring(struct xdr_netobj *out, char *in, int enclen, int explen) |
| 92 | { | 92 | { |
| 93 | if (!(out->data = kmalloc(explen,GFP_KERNEL))) | 93 | if (!(out->data = kzalloc(explen,GFP_KERNEL))) |
| 94 | return 0; | 94 | return 0; |
| 95 | out->len = explen; | 95 | out->len = explen; |
| 96 | memset(out->data, 0, explen); | ||
| 97 | memcpy(out->data, in, enclen); | 96 | memcpy(out->data, in, enclen); |
| 98 | return 1; | 97 | return 1; |
| 99 | } | 98 | } |
diff --git a/net/sunrpc/clnt.c b/net/sunrpc/clnt.c index aa8965e9d307..4ba271f892c8 100644 --- a/net/sunrpc/clnt.c +++ b/net/sunrpc/clnt.c | |||
| @@ -125,10 +125,9 @@ rpc_new_client(struct rpc_xprt *xprt, char *servname, | |||
| 125 | goto out_err; | 125 | goto out_err; |
| 126 | 126 | ||
| 127 | err = -ENOMEM; | 127 | err = -ENOMEM; |
| 128 | clnt = kmalloc(sizeof(*clnt), GFP_KERNEL); | 128 | clnt = kzalloc(sizeof(*clnt), GFP_KERNEL); |
| 129 | if (!clnt) | 129 | if (!clnt) |
| 130 | goto out_err; | 130 | goto out_err; |
| 131 | memset(clnt, 0, sizeof(*clnt)); | ||
| 132 | atomic_set(&clnt->cl_users, 0); | 131 | atomic_set(&clnt->cl_users, 0); |
| 133 | atomic_set(&clnt->cl_count, 1); | 132 | atomic_set(&clnt->cl_count, 1); |
| 134 | clnt->cl_parent = clnt; | 133 | clnt->cl_parent = clnt; |
diff --git a/net/sunrpc/stats.c b/net/sunrpc/stats.c index 15c2db26767b..bd98124c3a64 100644 --- a/net/sunrpc/stats.c +++ b/net/sunrpc/stats.c | |||
| @@ -114,13 +114,8 @@ void svc_seq_show(struct seq_file *seq, const struct svc_stat *statp) { | |||
| 114 | */ | 114 | */ |
| 115 | struct rpc_iostats *rpc_alloc_iostats(struct rpc_clnt *clnt) | 115 | struct rpc_iostats *rpc_alloc_iostats(struct rpc_clnt *clnt) |
| 116 | { | 116 | { |
| 117 | unsigned int ops = clnt->cl_maxproc; | ||
| 118 | size_t size = ops * sizeof(struct rpc_iostats); | ||
| 119 | struct rpc_iostats *new; | 117 | struct rpc_iostats *new; |
| 120 | 118 | new = kcalloc(clnt->cl_maxproc, sizeof(struct rpc_iostats), GFP_KERNEL); | |
| 121 | new = kmalloc(size, GFP_KERNEL); | ||
| 122 | if (new) | ||
| 123 | memset(new, 0 , size); | ||
| 124 | return new; | 119 | return new; |
| 125 | } | 120 | } |
| 126 | EXPORT_SYMBOL(rpc_alloc_iostats); | 121 | EXPORT_SYMBOL(rpc_alloc_iostats); |
diff --git a/net/sunrpc/svc.c b/net/sunrpc/svc.c index 01ba60a49572..b76a227dd3ad 100644 --- a/net/sunrpc/svc.c +++ b/net/sunrpc/svc.c | |||
| @@ -32,9 +32,8 @@ svc_create(struct svc_program *prog, unsigned int bufsize) | |||
| 32 | int vers; | 32 | int vers; |
| 33 | unsigned int xdrsize; | 33 | unsigned int xdrsize; |
| 34 | 34 | ||
| 35 | if (!(serv = kmalloc(sizeof(*serv), GFP_KERNEL))) | 35 | if (!(serv = kzalloc(sizeof(*serv), GFP_KERNEL))) |
| 36 | return NULL; | 36 | return NULL; |
| 37 | memset(serv, 0, sizeof(*serv)); | ||
| 38 | serv->sv_name = prog->pg_name; | 37 | serv->sv_name = prog->pg_name; |
| 39 | serv->sv_program = prog; | 38 | serv->sv_program = prog; |
| 40 | serv->sv_nrthreads = 1; | 39 | serv->sv_nrthreads = 1; |
| @@ -159,11 +158,10 @@ svc_create_thread(svc_thread_fn func, struct svc_serv *serv) | |||
| 159 | struct svc_rqst *rqstp; | 158 | struct svc_rqst *rqstp; |
| 160 | int error = -ENOMEM; | 159 | int error = -ENOMEM; |
| 161 | 160 | ||
| 162 | rqstp = kmalloc(sizeof(*rqstp), GFP_KERNEL); | 161 | rqstp = kzalloc(sizeof(*rqstp), GFP_KERNEL); |
| 163 | if (!rqstp) | 162 | if (!rqstp) |
| 164 | goto out; | 163 | goto out; |
| 165 | 164 | ||
| 166 | memset(rqstp, 0, sizeof(*rqstp)); | ||
| 167 | init_waitqueue_head(&rqstp->rq_wait); | 165 | init_waitqueue_head(&rqstp->rq_wait); |
| 168 | 166 | ||
| 169 | if (!(rqstp->rq_argp = kmalloc(serv->sv_xdrsize, GFP_KERNEL)) | 167 | if (!(rqstp->rq_argp = kmalloc(serv->sv_xdrsize, GFP_KERNEL)) |
diff --git a/net/sunrpc/svcsock.c b/net/sunrpc/svcsock.c index a27905a0ad27..d9a95732df46 100644 --- a/net/sunrpc/svcsock.c +++ b/net/sunrpc/svcsock.c | |||
| @@ -1322,11 +1322,10 @@ svc_setup_socket(struct svc_serv *serv, struct socket *sock, | |||
| 1322 | struct sock *inet; | 1322 | struct sock *inet; |
| 1323 | 1323 | ||
| 1324 | dprintk("svc: svc_setup_socket %p\n", sock); | 1324 | dprintk("svc: svc_setup_socket %p\n", sock); |
| 1325 | if (!(svsk = kmalloc(sizeof(*svsk), GFP_KERNEL))) { | 1325 | if (!(svsk = kzalloc(sizeof(*svsk), GFP_KERNEL))) { |
| 1326 | *errp = -ENOMEM; | 1326 | *errp = -ENOMEM; |
| 1327 | return NULL; | 1327 | return NULL; |
| 1328 | } | 1328 | } |
| 1329 | memset(svsk, 0, sizeof(*svsk)); | ||
| 1330 | 1329 | ||
| 1331 | inet = sock->sk; | 1330 | inet = sock->sk; |
| 1332 | 1331 | ||
diff --git a/net/sunrpc/xprt.c b/net/sunrpc/xprt.c index 02060d0e7be8..313b68d892c6 100644 --- a/net/sunrpc/xprt.c +++ b/net/sunrpc/xprt.c | |||
| @@ -908,9 +908,8 @@ static struct rpc_xprt *xprt_setup(int proto, struct sockaddr_in *ap, struct rpc | |||
| 908 | struct rpc_xprt *xprt; | 908 | struct rpc_xprt *xprt; |
| 909 | struct rpc_rqst *req; | 909 | struct rpc_rqst *req; |
| 910 | 910 | ||
| 911 | if ((xprt = kmalloc(sizeof(struct rpc_xprt), GFP_KERNEL)) == NULL) | 911 | if ((xprt = kzalloc(sizeof(struct rpc_xprt), GFP_KERNEL)) == NULL) |
| 912 | return ERR_PTR(-ENOMEM); | 912 | return ERR_PTR(-ENOMEM); |
| 913 | memset(xprt, 0, sizeof(*xprt)); /* Nnnngh! */ | ||
| 914 | 913 | ||
| 915 | xprt->addr = *ap; | 914 | xprt->addr = *ap; |
| 916 | 915 | ||
diff --git a/net/sunrpc/xprtsock.c b/net/sunrpc/xprtsock.c index 21006b109101..ee678ed13b6f 100644 --- a/net/sunrpc/xprtsock.c +++ b/net/sunrpc/xprtsock.c | |||
| @@ -1276,10 +1276,9 @@ int xs_setup_udp(struct rpc_xprt *xprt, struct rpc_timeout *to) | |||
| 1276 | 1276 | ||
| 1277 | xprt->max_reqs = xprt_udp_slot_table_entries; | 1277 | xprt->max_reqs = xprt_udp_slot_table_entries; |
| 1278 | slot_table_size = xprt->max_reqs * sizeof(xprt->slot[0]); | 1278 | slot_table_size = xprt->max_reqs * sizeof(xprt->slot[0]); |
| 1279 | xprt->slot = kmalloc(slot_table_size, GFP_KERNEL); | 1279 | xprt->slot = kzalloc(slot_table_size, GFP_KERNEL); |
| 1280 | if (xprt->slot == NULL) | 1280 | if (xprt->slot == NULL) |
| 1281 | return -ENOMEM; | 1281 | return -ENOMEM; |
| 1282 | memset(xprt->slot, 0, slot_table_size); | ||
| 1283 | 1282 | ||
| 1284 | xprt->prot = IPPROTO_UDP; | 1283 | xprt->prot = IPPROTO_UDP; |
| 1285 | xprt->port = xs_get_random_port(); | 1284 | xprt->port = xs_get_random_port(); |
| @@ -1318,10 +1317,9 @@ int xs_setup_tcp(struct rpc_xprt *xprt, struct rpc_timeout *to) | |||
| 1318 | 1317 | ||
| 1319 | xprt->max_reqs = xprt_tcp_slot_table_entries; | 1318 | xprt->max_reqs = xprt_tcp_slot_table_entries; |
| 1320 | slot_table_size = xprt->max_reqs * sizeof(xprt->slot[0]); | 1319 | slot_table_size = xprt->max_reqs * sizeof(xprt->slot[0]); |
| 1321 | xprt->slot = kmalloc(slot_table_size, GFP_KERNEL); | 1320 | xprt->slot = kzalloc(slot_table_size, GFP_KERNEL); |
| 1322 | if (xprt->slot == NULL) | 1321 | if (xprt->slot == NULL) |
| 1323 | return -ENOMEM; | 1322 | return -ENOMEM; |
| 1324 | memset(xprt->slot, 0, slot_table_size); | ||
| 1325 | 1323 | ||
| 1326 | xprt->prot = IPPROTO_TCP; | 1324 | xprt->prot = IPPROTO_TCP; |
| 1327 | xprt->port = xs_get_random_port(); | 1325 | xprt->port = xs_get_random_port(); |
diff --git a/net/tipc/bearer.c b/net/tipc/bearer.c index 7ef17a449cfd..75a5968c2139 100644 --- a/net/tipc/bearer.c +++ b/net/tipc/bearer.c | |||
| @@ -665,11 +665,9 @@ int tipc_bearer_init(void) | |||
| 665 | int res; | 665 | int res; |
| 666 | 666 | ||
| 667 | write_lock_bh(&tipc_net_lock); | 667 | write_lock_bh(&tipc_net_lock); |
| 668 | tipc_bearers = kmalloc(MAX_BEARERS * sizeof(struct bearer), GFP_ATOMIC); | 668 | tipc_bearers = kcalloc(MAX_BEARERS, sizeof(struct bearer), GFP_ATOMIC); |
| 669 | media_list = kmalloc(MAX_MEDIA * sizeof(struct media), GFP_ATOMIC); | 669 | media_list = kcalloc(MAX_MEDIA, sizeof(struct media), GFP_ATOMIC); |
| 670 | if (tipc_bearers && media_list) { | 670 | if (tipc_bearers && media_list) { |
| 671 | memset(tipc_bearers, 0, MAX_BEARERS * sizeof(struct bearer)); | ||
| 672 | memset(media_list, 0, MAX_MEDIA * sizeof(struct media)); | ||
| 673 | res = TIPC_OK; | 671 | res = TIPC_OK; |
| 674 | } else { | 672 | } else { |
| 675 | kfree(tipc_bearers); | 673 | kfree(tipc_bearers); |
diff --git a/net/tipc/cluster.c b/net/tipc/cluster.c index 1dcb6940e338..b46b5188a9fd 100644 --- a/net/tipc/cluster.c +++ b/net/tipc/cluster.c | |||
| @@ -57,29 +57,25 @@ struct cluster *tipc_cltr_create(u32 addr) | |||
| 57 | struct _zone *z_ptr; | 57 | struct _zone *z_ptr; |
| 58 | struct cluster *c_ptr; | 58 | struct cluster *c_ptr; |
| 59 | int max_nodes; | 59 | int max_nodes; |
| 60 | int alloc; | ||
| 61 | 60 | ||
| 62 | c_ptr = (struct cluster *)kmalloc(sizeof(*c_ptr), GFP_ATOMIC); | 61 | c_ptr = kzalloc(sizeof(*c_ptr), GFP_ATOMIC); |
| 63 | if (c_ptr == NULL) { | 62 | if (c_ptr == NULL) { |
| 64 | warn("Cluster creation failure, no memory\n"); | 63 | warn("Cluster creation failure, no memory\n"); |
| 65 | return NULL; | 64 | return NULL; |
| 66 | } | 65 | } |
| 67 | memset(c_ptr, 0, sizeof(*c_ptr)); | ||
| 68 | 66 | ||
| 69 | c_ptr->addr = tipc_addr(tipc_zone(addr), tipc_cluster(addr), 0); | 67 | c_ptr->addr = tipc_addr(tipc_zone(addr), tipc_cluster(addr), 0); |
| 70 | if (in_own_cluster(addr)) | 68 | if (in_own_cluster(addr)) |
| 71 | max_nodes = LOWEST_SLAVE + tipc_max_slaves; | 69 | max_nodes = LOWEST_SLAVE + tipc_max_slaves; |
| 72 | else | 70 | else |
| 73 | max_nodes = tipc_max_nodes + 1; | 71 | max_nodes = tipc_max_nodes + 1; |
| 74 | alloc = sizeof(void *) * (max_nodes + 1); | ||
| 75 | 72 | ||
| 76 | c_ptr->nodes = (struct node **)kmalloc(alloc, GFP_ATOMIC); | 73 | c_ptr->nodes = kcalloc(max_nodes + 1, sizeof(void*), GFP_ATOMIC); |
| 77 | if (c_ptr->nodes == NULL) { | 74 | if (c_ptr->nodes == NULL) { |
| 78 | warn("Cluster creation failure, no memory for node area\n"); | 75 | warn("Cluster creation failure, no memory for node area\n"); |
| 79 | kfree(c_ptr); | 76 | kfree(c_ptr); |
| 80 | return NULL; | 77 | return NULL; |
| 81 | } | 78 | } |
| 82 | memset(c_ptr->nodes, 0, alloc); | ||
| 83 | 79 | ||
| 84 | if (in_own_cluster(addr)) | 80 | if (in_own_cluster(addr)) |
| 85 | tipc_local_nodes = c_ptr->nodes; | 81 | tipc_local_nodes = c_ptr->nodes; |
diff --git a/net/tipc/link.c b/net/tipc/link.c index c10e18a49b96..693f02eca6d6 100644 --- a/net/tipc/link.c +++ b/net/tipc/link.c | |||
| @@ -417,12 +417,11 @@ struct link *tipc_link_create(struct bearer *b_ptr, const u32 peer, | |||
| 417 | struct tipc_msg *msg; | 417 | struct tipc_msg *msg; |
| 418 | char *if_name; | 418 | char *if_name; |
| 419 | 419 | ||
| 420 | l_ptr = (struct link *)kmalloc(sizeof(*l_ptr), GFP_ATOMIC); | 420 | l_ptr = kzalloc(sizeof(*l_ptr), GFP_ATOMIC); |
| 421 | if (!l_ptr) { | 421 | if (!l_ptr) { |
| 422 | warn("Link creation failed, no memory\n"); | 422 | warn("Link creation failed, no memory\n"); |
| 423 | return NULL; | 423 | return NULL; |
| 424 | } | 424 | } |
| 425 | memset(l_ptr, 0, sizeof(*l_ptr)); | ||
| 426 | 425 | ||
| 427 | l_ptr->addr = peer; | 426 | l_ptr->addr = peer; |
| 428 | if_name = strchr(b_ptr->publ.name, ':') + 1; | 427 | if_name = strchr(b_ptr->publ.name, ':') + 1; |
diff --git a/net/tipc/name_table.c b/net/tipc/name_table.c index a6926ff07bcc..049242ea5c38 100644 --- a/net/tipc/name_table.c +++ b/net/tipc/name_table.c | |||
| @@ -117,14 +117,12 @@ static struct publication *publ_create(u32 type, u32 lower, u32 upper, | |||
| 117 | u32 scope, u32 node, u32 port_ref, | 117 | u32 scope, u32 node, u32 port_ref, |
| 118 | u32 key) | 118 | u32 key) |
| 119 | { | 119 | { |
| 120 | struct publication *publ = | 120 | struct publication *publ = kzalloc(sizeof(*publ), GFP_ATOMIC); |
| 121 | (struct publication *)kmalloc(sizeof(*publ), GFP_ATOMIC); | ||
| 122 | if (publ == NULL) { | 121 | if (publ == NULL) { |
| 123 | warn("Publication creation failure, no memory\n"); | 122 | warn("Publication creation failure, no memory\n"); |
| 124 | return NULL; | 123 | return NULL; |
| 125 | } | 124 | } |
| 126 | 125 | ||
| 127 | memset(publ, 0, sizeof(*publ)); | ||
| 128 | publ->type = type; | 126 | publ->type = type; |
| 129 | publ->lower = lower; | 127 | publ->lower = lower; |
| 130 | publ->upper = upper; | 128 | publ->upper = upper; |
| @@ -144,11 +142,7 @@ static struct publication *publ_create(u32 type, u32 lower, u32 upper, | |||
| 144 | 142 | ||
| 145 | static struct sub_seq *tipc_subseq_alloc(u32 cnt) | 143 | static struct sub_seq *tipc_subseq_alloc(u32 cnt) |
| 146 | { | 144 | { |
| 147 | u32 sz = cnt * sizeof(struct sub_seq); | 145 | struct sub_seq *sseq = kcalloc(cnt, sizeof(struct sub_seq), GFP_ATOMIC); |
| 148 | struct sub_seq *sseq = (struct sub_seq *)kmalloc(sz, GFP_ATOMIC); | ||
| 149 | |||
| 150 | if (sseq) | ||
| 151 | memset(sseq, 0, sz); | ||
| 152 | return sseq; | 146 | return sseq; |
| 153 | } | 147 | } |
| 154 | 148 | ||
| @@ -160,8 +154,7 @@ static struct sub_seq *tipc_subseq_alloc(u32 cnt) | |||
| 160 | 154 | ||
| 161 | static struct name_seq *tipc_nameseq_create(u32 type, struct hlist_head *seq_head) | 155 | static struct name_seq *tipc_nameseq_create(u32 type, struct hlist_head *seq_head) |
| 162 | { | 156 | { |
| 163 | struct name_seq *nseq = | 157 | struct name_seq *nseq = kzalloc(sizeof(*nseq), GFP_ATOMIC); |
| 164 | (struct name_seq *)kmalloc(sizeof(*nseq), GFP_ATOMIC); | ||
| 165 | struct sub_seq *sseq = tipc_subseq_alloc(1); | 158 | struct sub_seq *sseq = tipc_subseq_alloc(1); |
| 166 | 159 | ||
| 167 | if (!nseq || !sseq) { | 160 | if (!nseq || !sseq) { |
| @@ -171,7 +164,6 @@ static struct name_seq *tipc_nameseq_create(u32 type, struct hlist_head *seq_hea | |||
| 171 | return NULL; | 164 | return NULL; |
| 172 | } | 165 | } |
| 173 | 166 | ||
| 174 | memset(nseq, 0, sizeof(*nseq)); | ||
| 175 | spin_lock_init(&nseq->lock); | 167 | spin_lock_init(&nseq->lock); |
| 176 | nseq->type = type; | 168 | nseq->type = type; |
| 177 | nseq->sseqs = sseq; | 169 | nseq->sseqs = sseq; |
| @@ -1060,7 +1052,7 @@ int tipc_nametbl_init(void) | |||
| 1060 | { | 1052 | { |
| 1061 | int array_size = sizeof(struct hlist_head) * tipc_nametbl_size; | 1053 | int array_size = sizeof(struct hlist_head) * tipc_nametbl_size; |
| 1062 | 1054 | ||
| 1063 | table.types = (struct hlist_head *)kmalloc(array_size, GFP_ATOMIC); | 1055 | table.types = kmalloc(array_size, GFP_ATOMIC); |
| 1064 | if (!table.types) | 1056 | if (!table.types) |
| 1065 | return -ENOMEM; | 1057 | return -ENOMEM; |
| 1066 | 1058 | ||
diff --git a/net/tipc/net.c b/net/tipc/net.c index e5a359ab4930..a991bf8a7f74 100644 --- a/net/tipc/net.c +++ b/net/tipc/net.c | |||
| @@ -160,14 +160,11 @@ void tipc_net_send_external_routes(u32 dest) | |||
| 160 | 160 | ||
| 161 | static int net_init(void) | 161 | static int net_init(void) |
| 162 | { | 162 | { |
| 163 | u32 sz = sizeof(struct _zone *) * (tipc_max_zones + 1); | ||
| 164 | |||
| 165 | memset(&tipc_net, 0, sizeof(tipc_net)); | 163 | memset(&tipc_net, 0, sizeof(tipc_net)); |
| 166 | tipc_net.zones = (struct _zone **)kmalloc(sz, GFP_ATOMIC); | 164 | tipc_net.zones = kcalloc(tipc_max_zones + 1, sizeof(struct _zone *), GFP_ATOMIC); |
| 167 | if (!tipc_net.zones) { | 165 | if (!tipc_net.zones) { |
| 168 | return -ENOMEM; | 166 | return -ENOMEM; |
| 169 | } | 167 | } |
| 170 | memset(tipc_net.zones, 0, sz); | ||
| 171 | return TIPC_OK; | 168 | return TIPC_OK; |
| 172 | } | 169 | } |
| 173 | 170 | ||
diff --git a/net/tipc/port.c b/net/tipc/port.c index 3251c8d8e53c..b9c8c6b9e94f 100644 --- a/net/tipc/port.c +++ b/net/tipc/port.c | |||
| @@ -226,12 +226,11 @@ u32 tipc_createport_raw(void *usr_handle, | |||
| 226 | struct tipc_msg *msg; | 226 | struct tipc_msg *msg; |
| 227 | u32 ref; | 227 | u32 ref; |
| 228 | 228 | ||
| 229 | p_ptr = kmalloc(sizeof(*p_ptr), GFP_ATOMIC); | 229 | p_ptr = kzalloc(sizeof(*p_ptr), GFP_ATOMIC); |
| 230 | if (!p_ptr) { | 230 | if (!p_ptr) { |
| 231 | warn("Port creation failed, no memory\n"); | 231 | warn("Port creation failed, no memory\n"); |
| 232 | return 0; | 232 | return 0; |
| 233 | } | 233 | } |
| 234 | memset(p_ptr, 0, sizeof(*p_ptr)); | ||
| 235 | ref = tipc_ref_acquire(p_ptr, &p_ptr->publ.lock); | 234 | ref = tipc_ref_acquire(p_ptr, &p_ptr->publ.lock); |
| 236 | if (!ref) { | 235 | if (!ref) { |
| 237 | warn("Port creation failed, reference table exhausted\n"); | 236 | warn("Port creation failed, reference table exhausted\n"); |
| @@ -1058,7 +1057,7 @@ int tipc_createport(u32 user_ref, | |||
| 1058 | struct port *p_ptr; | 1057 | struct port *p_ptr; |
| 1059 | u32 ref; | 1058 | u32 ref; |
| 1060 | 1059 | ||
| 1061 | up_ptr = (struct user_port *)kmalloc(sizeof(*up_ptr), GFP_ATOMIC); | 1060 | up_ptr = kmalloc(sizeof(*up_ptr), GFP_ATOMIC); |
| 1062 | if (!up_ptr) { | 1061 | if (!up_ptr) { |
| 1063 | warn("Port creation failed, no memory\n"); | 1062 | warn("Port creation failed, no memory\n"); |
| 1064 | return -ENOMEM; | 1063 | return -ENOMEM; |
diff --git a/net/tipc/subscr.c b/net/tipc/subscr.c index e19b4bcd67ec..c51600ba5f4a 100644 --- a/net/tipc/subscr.c +++ b/net/tipc/subscr.c | |||
| @@ -393,12 +393,11 @@ static void subscr_named_msg_event(void *usr_handle, | |||
| 393 | 393 | ||
| 394 | /* Create subscriber object */ | 394 | /* Create subscriber object */ |
| 395 | 395 | ||
| 396 | subscriber = kmalloc(sizeof(struct subscriber), GFP_ATOMIC); | 396 | subscriber = kzalloc(sizeof(struct subscriber), GFP_ATOMIC); |
| 397 | if (subscriber == NULL) { | 397 | if (subscriber == NULL) { |
| 398 | warn("Subscriber rejected, no memory\n"); | 398 | warn("Subscriber rejected, no memory\n"); |
| 399 | return; | 399 | return; |
| 400 | } | 400 | } |
| 401 | memset(subscriber, 0, sizeof(struct subscriber)); | ||
| 402 | INIT_LIST_HEAD(&subscriber->subscription_list); | 401 | INIT_LIST_HEAD(&subscriber->subscription_list); |
| 403 | INIT_LIST_HEAD(&subscriber->subscriber_list); | 402 | INIT_LIST_HEAD(&subscriber->subscriber_list); |
| 404 | subscriber->ref = tipc_ref_acquire(subscriber, &subscriber->lock); | 403 | subscriber->ref = tipc_ref_acquire(subscriber, &subscriber->lock); |
diff --git a/net/tipc/user_reg.c b/net/tipc/user_reg.c index 1e3ae57c7228..04d1b9be9c51 100644 --- a/net/tipc/user_reg.c +++ b/net/tipc/user_reg.c | |||
| @@ -82,9 +82,8 @@ static int reg_init(void) | |||
| 82 | 82 | ||
| 83 | spin_lock_bh(®_lock); | 83 | spin_lock_bh(®_lock); |
| 84 | if (!users) { | 84 | if (!users) { |
| 85 | users = (struct tipc_user *)kmalloc(USER_LIST_SIZE, GFP_ATOMIC); | 85 | users = kzalloc(USER_LIST_SIZE, GFP_ATOMIC); |
| 86 | if (users) { | 86 | if (users) { |
| 87 | memset(users, 0, USER_LIST_SIZE); | ||
| 88 | for (i = 1; i <= MAX_USERID; i++) { | 87 | for (i = 1; i <= MAX_USERID; i++) { |
| 89 | users[i].next = i - 1; | 88 | users[i].next = i - 1; |
| 90 | } | 89 | } |
diff --git a/net/tipc/zone.c b/net/tipc/zone.c index 316c4872ff5b..f5b00ea2d5ac 100644 --- a/net/tipc/zone.c +++ b/net/tipc/zone.c | |||
| @@ -52,13 +52,12 @@ struct _zone *tipc_zone_create(u32 addr) | |||
| 52 | return NULL; | 52 | return NULL; |
| 53 | } | 53 | } |
| 54 | 54 | ||
| 55 | z_ptr = (struct _zone *)kmalloc(sizeof(*z_ptr), GFP_ATOMIC); | 55 | z_ptr = kzalloc(sizeof(*z_ptr), GFP_ATOMIC); |
| 56 | if (!z_ptr) { | 56 | if (!z_ptr) { |
| 57 | warn("Zone creation failed, insufficient memory\n"); | 57 | warn("Zone creation failed, insufficient memory\n"); |
| 58 | return NULL; | 58 | return NULL; |
| 59 | } | 59 | } |
| 60 | 60 | ||
| 61 | memset(z_ptr, 0, sizeof(*z_ptr)); | ||
| 62 | z_num = tipc_zone(addr); | 61 | z_num = tipc_zone(addr); |
| 63 | z_ptr->addr = tipc_addr(z_num, 0, 0); | 62 | z_ptr->addr = tipc_addr(z_num, 0, 0); |
| 64 | tipc_net.zones[z_num] = z_ptr; | 63 | tipc_net.zones[z_num] = z_ptr; |
diff --git a/net/unix/af_unix.c b/net/unix/af_unix.c index f70475bfb62a..6f2909279268 100644 --- a/net/unix/af_unix.c +++ b/net/unix/af_unix.c | |||
| @@ -663,11 +663,10 @@ static int unix_autobind(struct socket *sock) | |||
| 663 | goto out; | 663 | goto out; |
| 664 | 664 | ||
| 665 | err = -ENOMEM; | 665 | err = -ENOMEM; |
| 666 | addr = kmalloc(sizeof(*addr) + sizeof(short) + 16, GFP_KERNEL); | 666 | addr = kzalloc(sizeof(*addr) + sizeof(short) + 16, GFP_KERNEL); |
| 667 | if (!addr) | 667 | if (!addr) |
| 668 | goto out; | 668 | goto out; |
| 669 | 669 | ||
| 670 | memset(addr, 0, sizeof(*addr) + sizeof(short) + 16); | ||
| 671 | addr->name->sun_family = AF_UNIX; | 670 | addr->name->sun_family = AF_UNIX; |
| 672 | atomic_set(&addr->refcnt, 1); | 671 | atomic_set(&addr->refcnt, 1); |
| 673 | 672 | ||
diff --git a/net/wanrouter/af_wanpipe.c b/net/wanrouter/af_wanpipe.c index a690cf773b6a..6f39faa15832 100644 --- a/net/wanrouter/af_wanpipe.c +++ b/net/wanrouter/af_wanpipe.c | |||
| @@ -370,12 +370,11 @@ static int wanpipe_listen_rcv (struct sk_buff *skb, struct sock *sk) | |||
| 370 | * used by the ioctl call to read call information | 370 | * used by the ioctl call to read call information |
| 371 | * and to execute commands. | 371 | * and to execute commands. |
| 372 | */ | 372 | */ |
| 373 | if ((mbox_ptr = kmalloc(sizeof(mbox_cmd_t), GFP_ATOMIC)) == NULL) { | 373 | if ((mbox_ptr = kzalloc(sizeof(mbox_cmd_t), GFP_ATOMIC)) == NULL) { |
| 374 | wanpipe_kill_sock_irq (newsk); | 374 | wanpipe_kill_sock_irq (newsk); |
| 375 | release_device(dev); | 375 | release_device(dev); |
| 376 | return -ENOMEM; | 376 | return -ENOMEM; |
| 377 | } | 377 | } |
| 378 | memset(mbox_ptr, 0, sizeof(mbox_cmd_t)); | ||
| 379 | memcpy(mbox_ptr,skb->data,skb->len); | 378 | memcpy(mbox_ptr,skb->data,skb->len); |
| 380 | 379 | ||
| 381 | /* Register the lcn on which incoming call came | 380 | /* Register the lcn on which incoming call came |
| @@ -507,11 +506,10 @@ static struct sock *wanpipe_alloc_socket(void) | |||
| 507 | if ((sk = sk_alloc(PF_WANPIPE, GFP_ATOMIC, &wanpipe_proto, 1)) == NULL) | 506 | if ((sk = sk_alloc(PF_WANPIPE, GFP_ATOMIC, &wanpipe_proto, 1)) == NULL) |
| 508 | return NULL; | 507 | return NULL; |
| 509 | 508 | ||
| 510 | if ((wan_opt = kmalloc(sizeof(struct wanpipe_opt), GFP_ATOMIC)) == NULL) { | 509 | if ((wan_opt = kzalloc(sizeof(struct wanpipe_opt), GFP_ATOMIC)) == NULL) { |
| 511 | sk_free(sk); | 510 | sk_free(sk); |
| 512 | return NULL; | 511 | return NULL; |
| 513 | } | 512 | } |
| 514 | memset(wan_opt, 0x00, sizeof(struct wanpipe_opt)); | ||
| 515 | 513 | ||
| 516 | wp_sk(sk) = wan_opt; | 514 | wp_sk(sk) = wan_opt; |
| 517 | 515 | ||
| @@ -2011,10 +2009,9 @@ static int set_ioctl_cmd (struct sock *sk, void *arg) | |||
| 2011 | 2009 | ||
| 2012 | dev_put(dev); | 2010 | dev_put(dev); |
| 2013 | 2011 | ||
| 2014 | if ((mbox_ptr = kmalloc(sizeof(mbox_cmd_t), GFP_ATOMIC)) == NULL) | 2012 | if ((mbox_ptr = kzalloc(sizeof(mbox_cmd_t), GFP_ATOMIC)) == NULL) |
| 2015 | return -ENOMEM; | 2013 | return -ENOMEM; |
| 2016 | 2014 | ||
| 2017 | memset(mbox_ptr, 0, sizeof(mbox_cmd_t)); | ||
| 2018 | wp_sk(sk)->mbox = mbox_ptr; | 2015 | wp_sk(sk)->mbox = mbox_ptr; |
| 2019 | 2016 | ||
| 2020 | wanpipe_link_driver(dev,sk); | 2017 | wanpipe_link_driver(dev,sk); |
diff --git a/net/wanrouter/wanmain.c b/net/wanrouter/wanmain.c index ad8e8a797790..9479659277ae 100644 --- a/net/wanrouter/wanmain.c +++ b/net/wanrouter/wanmain.c | |||
| @@ -642,18 +642,16 @@ static int wanrouter_device_new_if(struct wan_device *wandev, | |||
| 642 | 642 | ||
| 643 | if (cnf->config_id == WANCONFIG_MPPP) { | 643 | if (cnf->config_id == WANCONFIG_MPPP) { |
| 644 | #ifdef CONFIG_WANPIPE_MULTPPP | 644 | #ifdef CONFIG_WANPIPE_MULTPPP |
| 645 | pppdev = kmalloc(sizeof(struct ppp_device), GFP_KERNEL); | 645 | pppdev = kzalloc(sizeof(struct ppp_device), GFP_KERNEL); |
| 646 | err = -ENOBUFS; | 646 | err = -ENOBUFS; |
| 647 | if (pppdev == NULL) | 647 | if (pppdev == NULL) |
| 648 | goto out; | 648 | goto out; |
| 649 | memset(pppdev, 0, sizeof(struct ppp_device)); | 649 | pppdev->dev = kzalloc(sizeof(struct net_device), GFP_KERNEL); |
| 650 | pppdev->dev = kmalloc(sizeof(struct net_device), GFP_KERNEL); | ||
| 651 | if (pppdev->dev == NULL) { | 650 | if (pppdev->dev == NULL) { |
| 652 | kfree(pppdev); | 651 | kfree(pppdev); |
| 653 | err = -ENOBUFS; | 652 | err = -ENOBUFS; |
| 654 | goto out; | 653 | goto out; |
| 655 | } | 654 | } |
| 656 | memset(pppdev->dev, 0, sizeof(struct net_device)); | ||
| 657 | err = wandev->new_if(wandev, (struct net_device *)pppdev, cnf); | 655 | err = wandev->new_if(wandev, (struct net_device *)pppdev, cnf); |
| 658 | dev = pppdev->dev; | 656 | dev = pppdev->dev; |
| 659 | #else | 657 | #else |
| @@ -663,11 +661,10 @@ static int wanrouter_device_new_if(struct wan_device *wandev, | |||
| 663 | goto out; | 661 | goto out; |
| 664 | #endif | 662 | #endif |
| 665 | } else { | 663 | } else { |
| 666 | dev = kmalloc(sizeof(struct net_device), GFP_KERNEL); | 664 | dev = kzalloc(sizeof(struct net_device), GFP_KERNEL); |
| 667 | err = -ENOBUFS; | 665 | err = -ENOBUFS; |
| 668 | if (dev == NULL) | 666 | if (dev == NULL) |
| 669 | goto out; | 667 | goto out; |
| 670 | memset(dev, 0, sizeof(struct net_device)); | ||
| 671 | err = wandev->new_if(wandev, dev, cnf); | 668 | err = wandev->new_if(wandev, dev, cnf); |
| 672 | } | 669 | } |
| 673 | 670 | ||
diff --git a/net/xfrm/xfrm_policy.c b/net/xfrm/xfrm_policy.c index 405b741dff43..f35bc676128c 100644 --- a/net/xfrm/xfrm_policy.c +++ b/net/xfrm/xfrm_policy.c | |||
| @@ -307,10 +307,9 @@ struct xfrm_policy *xfrm_policy_alloc(gfp_t gfp) | |||
| 307 | { | 307 | { |
| 308 | struct xfrm_policy *policy; | 308 | struct xfrm_policy *policy; |
| 309 | 309 | ||
| 310 | policy = kmalloc(sizeof(struct xfrm_policy), gfp); | 310 | policy = kzalloc(sizeof(struct xfrm_policy), gfp); |
| 311 | 311 | ||
| 312 | if (policy) { | 312 | if (policy) { |
| 313 | memset(policy, 0, sizeof(struct xfrm_policy)); | ||
| 314 | atomic_set(&policy->refcnt, 1); | 313 | atomic_set(&policy->refcnt, 1); |
| 315 | rwlock_init(&policy->lock); | 314 | rwlock_init(&policy->lock); |
| 316 | init_timer(&policy->timer); | 315 | init_timer(&policy->timer); |
diff --git a/net/xfrm/xfrm_state.c b/net/xfrm/xfrm_state.c index 43f00fc28a3d..0021aad5db43 100644 --- a/net/xfrm/xfrm_state.c +++ b/net/xfrm/xfrm_state.c | |||
| @@ -194,10 +194,9 @@ struct xfrm_state *xfrm_state_alloc(void) | |||
| 194 | { | 194 | { |
| 195 | struct xfrm_state *x; | 195 | struct xfrm_state *x; |
| 196 | 196 | ||
| 197 | x = kmalloc(sizeof(struct xfrm_state), GFP_ATOMIC); | 197 | x = kzalloc(sizeof(struct xfrm_state), GFP_ATOMIC); |
| 198 | 198 | ||
| 199 | if (x) { | 199 | if (x) { |
| 200 | memset(x, 0, sizeof(struct xfrm_state)); | ||
| 201 | atomic_set(&x->refcnt, 1); | 200 | atomic_set(&x->refcnt, 1); |
| 202 | atomic_set(&x->tunnel_users, 0); | 201 | atomic_set(&x->tunnel_users, 0); |
| 203 | INIT_LIST_HEAD(&x->bydst); | 202 | INIT_LIST_HEAD(&x->bydst); |
