btrfs: zoned: use kmemdup() to replace kmalloc + memcpy
authorKai Song <songkai01@inspur.com>
Sun, 3 Oct 2021 08:06:56 +0000 (16:06 +0800)
committerDavid Sterba <dsterba@suse.com>
Tue, 26 Oct 2021 17:08:05 +0000 (19:08 +0200)
Fix memdup.cocci warning:
fs/btrfs/zoned.c:1198:23-30: WARNING opportunity for kmemdup

Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Signed-off-by: Kai Song <songkai01@inspur.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/zoned.c

index 14ea679..67d932d 100644 (file)
@@ -1195,14 +1195,12 @@ int btrfs_load_block_group_zone_info(struct btrfs_block_group *cache, bool new)
 
        map = em->map_lookup;
 
-       cache->physical_map = kmalloc(map_lookup_size(map->num_stripes), GFP_NOFS);
+       cache->physical_map = kmemdup(map, map_lookup_size(map->num_stripes), GFP_NOFS);
        if (!cache->physical_map) {
                ret = -ENOMEM;
                goto out;
        }
 
-       memcpy(cache->physical_map, map, map_lookup_size(map->num_stripes));
-
        alloc_offsets = kcalloc(map->num_stripes, sizeof(*alloc_offsets), GFP_NOFS);
        if (!alloc_offsets) {
                ret = -ENOMEM;