]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
mm/damon/sysfs-schemes: free old damon_sysfs_scheme_filter->memcg_path on write
authorSeongJae Park <sj@kernel.org>
Thu, 19 Jun 2025 18:36:07 +0000 (11:36 -0700)
committerAndrew Morton <akpm@linux-foundation.org>
Wed, 25 Jun 2025 22:55:03 +0000 (15:55 -0700)
memcg_path_store() assigns a newly allocated memory buffer to
filter->memcg_path, without deallocating the previously allocated and
assigned memory buffer.  As a result, users can leak kernel memory by
continuously writing a data to memcg_path DAMOS sysfs file.  Fix the leak
by deallocating the previously set memory buffer.

Link: https://lkml.kernel.org/r/20250619183608.6647-2-sj@kernel.org
Fixes: 7ee161f18b5d ("mm/damon/sysfs-schemes: implement filter directory")
Signed-off-by: SeongJae Park <sj@kernel.org>
Cc: Shuah Khan <shuah@kernel.org>
Cc: <stable@vger.kernel.org> [6.3.x]
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/damon/sysfs-schemes.c

index 0f6c9e1fec0bfd34e0c78e8d2fdf5af01cfff248..30ae7518ffbf649760a0f991eaa44038e343b4d6 100644 (file)
@@ -472,6 +472,7 @@ static ssize_t memcg_path_store(struct kobject *kobj,
                return -ENOMEM;
 
        strscpy(path, buf, count + 1);
+       kfree(filter->memcg_path);
        filter->memcg_path = path;
        return count;
 }