Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ext4: use kmem_cache_zalloc instead of kmem_cache_alloc/memset

Using kmem_cache_zalloc() instead of kmem_cache_alloc() and memset().

spatch with a semantic match is used to found this problem.
(http://coccinelle.lip6.fr/)

Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>

authored by

Wei Yongjun and committed by
Theodore Ts'o
85556c9a 8c854473

+2 -4
+2 -4
fs/ext4/mballoc.c
··· 2232 2232 sbi->s_group_info[group >> EXT4_DESC_PER_BLOCK_BITS(sb)]; 2233 2233 i = group & (EXT4_DESC_PER_BLOCK(sb) - 1); 2234 2234 2235 - meta_group_info[i] = kmem_cache_alloc(cachep, GFP_KERNEL); 2235 + meta_group_info[i] = kmem_cache_zalloc(cachep, GFP_KERNEL); 2236 2236 if (meta_group_info[i] == NULL) { 2237 2237 ext4_msg(sb, KERN_ERR, "can't allocate buddy mem"); 2238 2238 goto exit_group_info; 2239 2239 } 2240 - memset(meta_group_info[i], 0, kmem_cache_size(cachep)); 2241 2240 set_bit(EXT4_GROUP_INFO_NEED_INIT_BIT, 2242 2241 &(meta_group_info[i]->bb_state)); 2243 2242 ··· 4009 4010 ext4_get_group_no_and_offset(sb, goal, &group, &block); 4010 4011 4011 4012 /* set up allocation goals */ 4012 - memset(ac, 0, sizeof(struct ext4_allocation_context)); 4013 4013 ac->ac_b_ex.fe_logical = ar->logical & ~(sbi->s_cluster_ratio - 1); 4014 4014 ac->ac_status = AC_STATUS_CONTINUE; 4015 4015 ac->ac_sb = sb; ··· 4291 4293 } 4292 4294 } 4293 4295 4294 - ac = kmem_cache_alloc(ext4_ac_cachep, GFP_NOFS); 4296 + ac = kmem_cache_zalloc(ext4_ac_cachep, GFP_NOFS); 4295 4297 if (!ac) { 4296 4298 ar->len = 0; 4297 4299 *errp = -ENOMEM;