Re: [PATCH] fs: f2fs: Use kmemdup

From: Namjae Jeon
Date: Wed Mar 27 2013 - 19:29:58 EST


2013/3/28, Alexandru Gheorghiu <gheorghiuandru@xxxxxxxxx>:
> Used kmemdup instead of kzalloc followed by memcpy.
> Patch found using coccinelle.
>
> Signed-off-by: Alexandru Gheorghiu <gheorghiuandru@xxxxxxxxx>
> ---
> fs/f2fs/segment.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c
> index 777f17e..1758149 100644
> --- a/fs/f2fs/segment.c
> +++ b/fs/f2fs/segment.c
> @@ -1403,10 +1403,9 @@ static int build_sit_info(struct f2fs_sb_info *sbi)
> bitmap_size = __bitmap_size(sbi, SIT_BITMAP);
> src_bitmap = __bitmap_ptr(sbi, SIT_BITMAP);
>
> - dst_bitmap = kzalloc(bitmap_size, GFP_KERNEL);
> + dst_bitmap = kmemdup(src_bitmap, bitmap_size, GFP_KERNEL);
> if (!dst_bitmap)
> return -ENOMEM;
> - memcpy(dst_bitmap, src_bitmap, bitmap_size);
>
> /* init SIT information */
> sit_i->s_ops = &default_salloc_ops;
> --
> 1.7.9.5
Hi Alexandru.

There is another point to change kmemdup.
------------------------------------------------------------------------------------------------------
- nm_i->bitmap_size = __bitmap_size(sbi, NAT_BITMAP);
- nm_i->init_scan_nid = le32_to_cpu(sbi->ckpt->next_free_nid);
- nm_i->next_scan_nid = le32_to_cpu(sbi->ckpt->next_free_nid);
+ nm_i->init_scan_nid = le32_to_cpu(sbi->ckpt->next_free_nid);
+ nm_i->next_scan_nid = le32_to_cpu(sbi->ckpt->next_free_nid);
+ nm_i->bitmap_size = __bitmap_size(sbi, NAT_BITMAP);
+ version_bitmap = __bitmap_ptr(sbi, NAT_BITMAP);
+ if (!version_bitmap)
+ return -EFAULT;

- nm_i->nat_bitmap = kzalloc(nm_i->bitmap_size, GFP_KERNEL);
- if (!nm_i->nat_bitmap)
- return -ENOMEM;
- version_bitmap = __bitmap_ptr(sbi, NAT_BITMAP);
- if (!version_bitmap)
- return -EFAULT;
+ nm_i->nat_bitmap = kmemdup(version_bitmap, nm_i->bitmap_size,
GFP_KERNEL);
+ if (!nm_i->nat_bitmap)
+ return -ENOMEM;

- /* copy version bitmap */
- memcpy(nm_i->nat_bitmap, version_bitmap, nm_i->bitmap_size);
-----------------------------------------------------------------------------------------------------

If you agree, Could you send the patch include the above one again ?

Thanks.
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/