[PATCH 2/2] mm/damonn/lru_sort: handle ctx allocation failure

From: SeongJae Park

Date: Thu May 28 2026 - 20:02:17 EST


DAMON_LRU_SORT allocates the damon_ctx object for its kdamond in its
init function. damon_lru_sort_enabled_store() wrongly assumes the
allocation will always succeed once tried. If the damon_ctx allocation
was failed, therefore, code execution reaches to damon_commit_ctx()
while 'ctx' is NULL. As a result, it dereferences the NULL 'ctx'
pointer. Avoid the NULL dereference by returning -ENOMEM if 'ctx' is
NULL.

Fixes: c4a8e662c839 ("mm/damon/lru_sort: use damon_initialized()")
Cc: <stable@xxxxxxxxxxxxxxx> # 6.18.x
Signed-off-by: SeongJae Park <sj@xxxxxxxxxx>
---
mm/damon/lru_sort.c | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/mm/damon/lru_sort.c b/mm/damon/lru_sort.c
index eca88ed941b32..8298c6001fd09 100644
--- a/mm/damon/lru_sort.c
+++ b/mm/damon/lru_sort.c
@@ -476,6 +476,10 @@ static int damon_lru_sort_enabled_store(const char *val,
if (!damon_initialized())
return 0;

+ /* damon_modules_new_paddr_ctx_target() in the init function failed. */
+ if (!ctx)
+ return -ENOMEM;
+
return damon_lru_sort_turn(enabled);
}

--
2.47.3