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: Su Hui <suhui@nfschina.com>
Reviewed-by: SeongJae Park <sj@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
Su Hui 2025-04-21 14:24:24 +08:00 committed by Andrew Morton
parent 551c643fb2
commit ee43f26b49

View File

@ -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;