samples/damon/prcl: fix boot time enable crash

[ Upstream commit 2780505ec2 ]

If 'enable' parameter of the 'prcl' 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-3-sj@kernel.org
Fixes: 2aca254620 ("samples/damon: introduce a skeleton of a smaple DAMON module for proactive reclamation")
Signed-off-by: SeongJae Park <sj@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Stable-dep-of: c62cff40481c ("samples/damon/mtier: avoid starting DAMON before initialization")
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
SeongJae Park 2025-09-21 10:11:17 -04:00 committed by Greg Kroah-Hartman
parent 9414521999
commit 1338fb5d57

View File

@ -109,6 +109,8 @@ static void damon_sample_prcl_stop(void)
put_pid(target_pidp);
}
static bool init_called;
static int damon_sample_prcl_enable_store(
const char *val, const struct kernel_param *kp)
{
@ -134,6 +136,14 @@ static int damon_sample_prcl_enable_store(
static int __init damon_sample_prcl_init(void)
{
int err = 0;
init_called = true;
if (enable) {
err = damon_sample_prcl_start();
if (err)
enable = false;
}
return 0;
}