diff mbox series

[v1] mnt_idmapping: Use kmemdup_array instead of kmemdup for multiple allocation

Message ID 20240821091507.158463-1-yujiaoliang@vivo.com (mailing list archive)
State New
Headers show
Series [v1] mnt_idmapping: Use kmemdup_array instead of kmemdup for multiple allocation | expand

Commit Message

Yu Jiaoliang Aug. 21, 2024, 9:15 a.m. UTC
Let the kememdup_array() take care about multiplication and possible
overflows.

Signed-off-by: Yu Jiaoliang <yujiaoliang@vivo.com>
---
 fs/mnt_idmapping.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

Comments

Christian Brauner Aug. 22, 2024, 9:12 a.m. UTC | #1
On Wed, Aug 21, 2024 at 05:15:07PM GMT, Yu Jiaoliang wrote:
> Let the kememdup_array() take care about multiplication and possible
> overflows.
> 
> Signed-off-by: Yu Jiaoliang <yujiaoliang@vivo.com>
> ---
>  fs/mnt_idmapping.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/fs/mnt_idmapping.c b/fs/mnt_idmapping.c
> index 3c60f1eaca61..fea0244a87ce 100644
> --- a/fs/mnt_idmapping.c
> +++ b/fs/mnt_idmapping.c
> @@ -228,9 +228,9 @@ 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);

Why did you only convert the forward array and not the reverse array?
diff mbox series

Patch

diff --git a/fs/mnt_idmapping.c b/fs/mnt_idmapping.c
index 3c60f1eaca61..fea0244a87ce 100644
--- a/fs/mnt_idmapping.c
+++ b/fs/mnt_idmapping.c
@@ -228,9 +228,9 @@  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;