summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSeongJae Park <sj@kernel.org>2025-07-06 12:32:04 -0700
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2025-08-20 18:41:35 +0200
commitdd1f0f4bfbc5cbe97d1c84ded69ac4d334e50e13 (patch)
tree103e9ba967cf4b346f0ce6f5a9fb811944a90386
parenta10eb325706c46591a270d3a0ae872efa4558d85 (diff)
samples/damon/mtier: support boot time enable setup
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>
-rw-r--r--samples/damon/mtier.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/samples/damon/mtier.c b/samples/damon/mtier.c
index c94254b77fc9..ed6bed8b3d4d 100644
--- a/samples/damon/mtier.c
+++ b/samples/damon/mtier.c
@@ -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;
}