mnt_idmapping: Use kmemdup_array instead of kmemdup for multiple allocation
Let the kememdup_array() take care about multiplication and possible overflows. v2:Add a new modification for reverse array. Signed-off-by: Yu Jiaoliang <yujiaoliang@vivo.com> Link: https://lore.kernel.org/r/20240823015542.3006262-1-yujiaoliang@vivo.com Reviewed-by: Jan Kara <jack@suse.cz> Signed-off-by: Christian Brauner <brauner@kernel.org>
This commit is contained in:
parent
3c58a9575e
commit
75e4c6bcb8
@ -228,15 +228,15 @@ static int copy_mnt_idmap(struct uid_gid_map *map_from,
|
||||
return 0;
|
||||
}
|
||||
|
||||
forward = kmemdup(map_from->forward,
|
||||
nr_extents * sizeof(struct uid_gid_extent),
|
||||
GFP_KERNEL_ACCOUNT);
|
||||
forward = kmemdup_array(map_from->forward, nr_extents,
|
||||
sizeof(struct uid_gid_extent),
|
||||
GFP_KERNEL_ACCOUNT);
|
||||
if (!forward)
|
||||
return -ENOMEM;
|
||||
|
||||
reverse = kmemdup(map_from->reverse,
|
||||
nr_extents * sizeof(struct uid_gid_extent),
|
||||
GFP_KERNEL_ACCOUNT);
|
||||
reverse = kmemdup_array(map_from->reverse, nr_extents,
|
||||
sizeof(struct uid_gid_extent),
|
||||
GFP_KERNEL_ACCOUNT);
|
||||
if (!reverse) {
|
||||
kfree(forward);
|
||||
return -ENOMEM;
|
||||
|
Loading…
Reference in New Issue
Block a user