aboutsummaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorYoann Padioleau <padator@wanadoo.fr>2007-07-19 04:49:03 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-07-19 13:04:50 -0400
commitdd00cc486ab1c17049a535413d1751ef3482141c (patch)
treed90ff69ea06792b9284f2f2665c96624f121b88a /fs
parent3b5ad0797c0e4049001f961a8b58f1d0ce532072 (diff)
some kmalloc/memset ->kzalloc (tree wide)
Transform some calls to kmalloc/memset to a single kzalloc (or kcalloc). Here is a short excerpt of the semantic patch performing this transformation: @@ type T2; expression x; identifier f,fld; expression E; expression E1,E2; expression e1,e2,e3,y; statement S; @@ x = - kmalloc + kzalloc (E1,E2) ... when != \(x->fld=E;\|y=f(...,x,...);\|f(...,x,...);\|x=E;\|while(...) S\|for(e1;e2;e3) S\) - memset((T2)x,0,E1); @@ expression E1,E2,E3; @@ - kzalloc(E1 * E2,E3) + kcalloc(E1,E2,E3) [akpm@linux-foundation.org: get kcalloc args the right way around] Signed-off-by: Yoann Padioleau <padator@wanadoo.fr> Cc: Richard Henderson <rth@twiddle.net> Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru> Acked-by: Russell King <rmk@arm.linux.org.uk> Cc: Bryan Wu <bryan.wu@analog.com> Acked-by: Jiri Slaby <jirislaby@gmail.com> Cc: Dave Airlie <airlied@linux.ie> Acked-by: Roland Dreier <rolandd@cisco.com> Cc: Jiri Kosina <jkosina@suse.cz> Acked-by: Dmitry Torokhov <dtor@mail.ru> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Acked-by: Mauro Carvalho Chehab <mchehab@infradead.org> Acked-by: Pierre Ossman <drzeus-list@drzeus.cx> Cc: Jeff Garzik <jeff@garzik.org> Cc: "David S. Miller" <davem@davemloft.net> Acked-by: Greg KH <greg@kroah.com> Cc: James Bottomley <James.Bottomley@steeleye.com> Cc: "Antonino A. Daplas" <adaplas@pol.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'fs')
-rw-r--r--fs/dlm/memory.c12
-rw-r--r--fs/ext2/super.c4
-rw-r--r--fs/partitions/check.c3
3 files changed, 5 insertions, 14 deletions
diff --git a/fs/dlm/memory.c b/fs/dlm/memory.c
index f858fef6e41c..fb9e2ee998ae 100644
--- a/fs/dlm/memory.c
+++ b/fs/dlm/memory.c
@@ -39,9 +39,7 @@ char *allocate_lvb(struct dlm_ls *ls)
39{ 39{
40 char *p; 40 char *p;
41 41
42 p = kmalloc(ls->ls_lvblen, GFP_KERNEL); 42 p = kzalloc(ls->ls_lvblen, GFP_KERNEL);
43 if (p)
44 memset(p, 0, ls->ls_lvblen);
45 return p; 43 return p;
46} 44}
47 45
@@ -59,9 +57,7 @@ struct dlm_rsb *allocate_rsb(struct dlm_ls *ls, int namelen)
59 57
60 DLM_ASSERT(namelen <= DLM_RESNAME_MAXLEN,); 58 DLM_ASSERT(namelen <= DLM_RESNAME_MAXLEN,);
61 59
62 r = kmalloc(sizeof(*r) + namelen, GFP_KERNEL); 60 r = kzalloc(sizeof(*r) + namelen, GFP_KERNEL);
63 if (r)
64 memset(r, 0, sizeof(*r) + namelen);
65 return r; 61 return r;
66} 62}
67 63
@@ -101,9 +97,7 @@ struct dlm_direntry *allocate_direntry(struct dlm_ls *ls, int namelen)
101 DLM_ASSERT(namelen <= DLM_RESNAME_MAXLEN, 97 DLM_ASSERT(namelen <= DLM_RESNAME_MAXLEN,
102 printk("namelen = %d\n", namelen);); 98 printk("namelen = %d\n", namelen););
103 99
104 de = kmalloc(sizeof(*de) + namelen, GFP_KERNEL); 100 de = kzalloc(sizeof(*de) + namelen, GFP_KERNEL);
105 if (de)
106 memset(de, 0, sizeof(*de) + namelen);
107 return de; 101 return de;
108} 102}
109 103
diff --git a/fs/ext2/super.c b/fs/ext2/super.c
index 3eefa97fe204..a6b1072daea7 100644
--- a/fs/ext2/super.c
+++ b/fs/ext2/super.c
@@ -883,13 +883,11 @@ static int ext2_fill_super(struct super_block *sb, void *data, int silent)
883 goto failed_mount; 883 goto failed_mount;
884 } 884 }
885 bgl_lock_init(&sbi->s_blockgroup_lock); 885 bgl_lock_init(&sbi->s_blockgroup_lock);
886 sbi->s_debts = kmalloc(sbi->s_groups_count * sizeof(*sbi->s_debts), 886 sbi->s_debts = kcalloc(sbi->s_groups_count, sizeof(*sbi->s_debts), GFP_KERNEL);
887 GFP_KERNEL);
888 if (!sbi->s_debts) { 887 if (!sbi->s_debts) {
889 printk ("EXT2-fs: not enough memory\n"); 888 printk ("EXT2-fs: not enough memory\n");
890 goto failed_mount_group_desc; 889 goto failed_mount_group_desc;
891 } 890 }
892 memset(sbi->s_debts, 0, sbi->s_groups_count * sizeof(*sbi->s_debts));
893 for (i = 0; i < db_count; i++) { 891 for (i = 0; i < db_count; i++) {
894 block = descriptor_loc(sb, logic_sb_block, i); 892 block = descriptor_loc(sb, logic_sb_block, i);
895 sbi->s_group_desc[i] = sb_bread(sb, block); 893 sbi->s_group_desc[i] = sb_bread(sb, block);
diff --git a/fs/partitions/check.c b/fs/partitions/check.c
index 98e0b85a9bb2..783c57ec07d3 100644
--- a/fs/partitions/check.c
+++ b/fs/partitions/check.c
@@ -372,11 +372,10 @@ void add_partition(struct gendisk *disk, int part, sector_t start, sector_t len,
372{ 372{
373 struct hd_struct *p; 373 struct hd_struct *p;
374 374
375 p = kmalloc(sizeof(*p), GFP_KERNEL); 375 p = kzalloc(sizeof(*p), GFP_KERNEL);
376 if (!p) 376 if (!p)
377 return; 377 return;
378 378
379 memset(p, 0, sizeof(*p));
380 p->start_sect = start; 379 p->start_sect = start;
381 p->nr_sects = len; 380 p->nr_sects = len;
382 p->partno = part; 381 p->partno = part;