mm/damon/tests/sysfs-kunit.h: fix memory leak in damon_sysfs_test_add_targets()
authorJinjie Ruan <ruanjinjie@huawei.com>
Thu, 10 Oct 2024 12:53:23 +0000 (20:53 +0800)
committerAndrew Morton <akpm@linux-foundation.org>
Thu, 17 Oct 2024 07:28:08 +0000 (00:28 -0700)
The sysfs_target->regions allocated in damon_sysfs_regions_alloc() is not
freed in damon_sysfs_test_add_targets(), which cause the following memory
leak, free it to fix it.

unreferenced object 0xffffff80c2a8db80 (size 96):
  comm "kunit_try_catch", pid 187, jiffies 4294894363
  hex dump (first 32 bytes):
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  backtrace (crc 0):
    [<0000000001e3714d>] kmemleak_alloc+0x34/0x40
    [<000000008e6835c1>] __kmalloc_cache_noprof+0x26c/0x2f4
    [<000000001286d9f8>] damon_sysfs_test_add_targets+0x1cc/0x738
    [<0000000032ef8f77>] kunit_try_run_case+0x13c/0x3ac
    [<00000000f3edea23>] kunit_generic_run_threadfn_adapter+0x80/0xec
    [<00000000adf936cf>] kthread+0x2e8/0x374
    [<0000000041bb1628>] ret_from_fork+0x10/0x20

Link: https://lkml.kernel.org/r/20241010125323.3127187-1-ruanjinjie@huawei.com
Fixes: b8ee5575f763 ("mm/damon/sysfs-test: add a unit test for damon_sysfs_set_targets()")
Signed-off-by: Jinjie Ruan <ruanjinjie@huawei.com>
Reviewed-by: SeongJae Park <sj@kernel.org>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/damon/tests/sysfs-kunit.h

index 1c9b596057a7ccbed809b6085902112e638f3504..7b5c7b307da99c453d343473cb585ec1a8077324 100644 (file)
@@ -67,6 +67,7 @@ static void damon_sysfs_test_add_targets(struct kunit *test)
        damon_destroy_ctx(ctx);
        kfree(sysfs_targets->targets_arr);
        kfree(sysfs_targets);
+       kfree(sysfs_target->regions);
        kfree(sysfs_target);
 }