mm-damon-core-validate-damos_quota_goal-nid-for-node_memcg_usedfree_bp.patch removed from -mm tree
The quilt patch titled
Subject: mm/damon/core: validate damos_quota_goal->nid for node_memcg_{used,free}_bphas been removed from the -mm tree. Its filename was
mm-damon-core-validate-damos_quota_goal-nid-for-node_memcg_usedfree_bp.patch
This patch was dropped because it was merged into the mm-stable branch of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
------------------------------------------------------
From: SeongJae Park <[email protected]>
Subject: mm/damon/core: validate damos_quota_goal->nid for node_memcg_{used,free}_bp
Date: Sat, 28 Mar 2026 21:39:00 -0700
Users can set damos_quota_goal->nid with arbitrary value for node_memcg_{used,free}_bp. But DAMON core is using those for NODE-DATA() without a validation of the value. This can result in out of bounds memory access. The issue can actually triggered using DAMON user-space tool (damo), like below.
$ sudo mkdir /sys/fs/cgroup/foo
$ sudo ./damo start --damos_action stat --damos_quota_interval 1s \
--damos_quota_goal node_memcg_used_bp 50% -1 /foo
$ sudo dmseg
[...]
[ 524.181426] Unable to handle kernel paging request at virtual address 0000000000002c00Fix this issue by adding the validation of the given node id. If an invalid node id is given, it returns 0% for used memory ratio, and 100% for free memory ratio.
---
mm/damon/core.c | 7 +++++++ 1 file changed, 7 insertions(+)
mm/damon/core.c renamed from mm/damon/core.c~mm-damon-core-validate-damos_quota_goal-nid-for-node_memcg_usedfree_bp +7 -0
@@ -2251,6 +2251,13 @@ static unsigned long damos_get_node_memcunsigned long used_pages, numerator;struct sysinfo i; +if (invalid_mem_node (goal->nid)) { +if (goal->metric ==DAMOS_QUOTA_NODE_MEMCG_USED_BP ) +return 0 ; +else /* DAMOS_QUOTA_NODE_MEMCG_FREE_BP */ +return 10000 ; + } + memcg =mem_cgroup_get_from_id (goal->memcg_id);if (!memcg) {if (goal->metric ==DAMOS_QUOTA_NODE_MEMCG_USED_BP )
_
Patches currently in -mm which might be from [email protected] are
mm-damon-core-disallow-time-quota-setting-zero-esz.patch mm-damon-core-disallow-non-power-of-two-min_region_sz-on-damon_start.patch