]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
samples/damon/mtier: support boot time enable setup
authorSeongJae Park <sj@kernel.org>
Sun, 6 Jul 2025 19:32:04 +0000 (12:32 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 20 Aug 2025 16:41:35 +0000 (18:41 +0200)
commit 964314344eab7bc43e38a32be281c5ea0609773b upstream.

If 'enable' parameter of the 'mtier' DAMON sample module is set at boot
time via the kernel command line, memory allocation is tried before the
slab is initialized.  As a result kernel NULL pointer dereference BUG can
happen.  Fix it by checking the initialization status.

Link: https://lkml.kernel.org/r/20250706193207.39810-4-sj@kernel.org
Fixes: 82a08bde3cf7 ("samples/damon: implement a DAMON module for memory tiering")
Signed-off-by: SeongJae Park <sj@kernel.org>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
samples/damon/mtier.c

index c94254b77fc98422d646315f4a6d880971a41fd3..ed6bed8b3d4d99f2490aa175d4e9911dc30e12d8 100644 (file)
@@ -151,6 +151,8 @@ static void damon_sample_mtier_stop(void)
        damon_destroy_ctx(ctxs[1]);
 }
 
+static bool init_called;
+
 static int damon_sample_mtier_enable_store(
                const char *val, const struct kernel_param *kp)
 {
@@ -176,6 +178,14 @@ static int damon_sample_mtier_enable_store(
 
 static int __init damon_sample_mtier_init(void)
 {
+       int err = 0;
+
+       init_called = true;
+       if (enable) {
+               err = damon_sample_mtier_start();
+               if (err)
+                       enable = false;
+       }
        return 0;
 }