Commit ee43f26b authored by Su Hui's avatar Su Hui Committed by Andrew Morton
Browse files

mm/damon/sysfs-schemes: use kmalloc_array() and size_add()

It's safer to use kmalloc_array() and size_add() because it can prevent
possible overflow problem.

Link: https://lkml.kernel.org/r/20250421062423.740605-1-suhui@nfschina.com


Signed-off-by: default avatarSu Hui <suhui@nfschina.com>
Reviewed-by: default avatarSeongJae Park <sj@kernel.org>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
parent 551c643f
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -465,7 +465,8 @@ static ssize_t memcg_path_store(struct kobject *kobj,
{
	struct damon_sysfs_scheme_filter *filter = container_of(kobj,
			struct damon_sysfs_scheme_filter, kobj);
	char *path = kmalloc(sizeof(*path) * (count + 1), GFP_KERNEL);
	char *path = kmalloc_array(size_add(count, 1), sizeof(*path),
				   GFP_KERNEL);

	if (!path)
		return -ENOMEM;
@@ -2064,7 +2065,7 @@ static int damon_sysfs_memcg_path_to_id(char *memcg_path, unsigned short *id)
	if (!memcg_path)
		return -EINVAL;

	path = kmalloc(sizeof(*path) * PATH_MAX, GFP_KERNEL);
	path = kmalloc_array(PATH_MAX, sizeof(*path), GFP_KERNEL);
	if (!path)
		return -ENOMEM;