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); |