Re: [PATCH v2] samples/damon/mtier: fail early if address range parameters are invalid

From: SeongJae Park

Date: Tue Jun 09 2026 - 11:08:19 EST


On Tue, 9 Jun 2026 14:46:52 +0800 Zenghui Yu <yuzenghui@xxxxxxxxxx> wrote:

> The comment on top of `struct damon_region` clearly says that
>
> For any use case, @ar should be non-zero positive size.
>
> which is now verified in damon_verify_new_region() if the kernel is built
> with DAMON_DEBUG_SANITY.
>
> The WARN_ONCE() can be triggered if the mtier sample module is enabled
> before node{0,1}_{start,end}_addr have been properly initialized, which is
> obviously not good.
>
> ------------[ cut here ]------------
> start 0 >= end 0
> WARNING: mm/damon/core.c:217 at damon_new_region+0xf4/0x118, CPU#59: bash/341468
> Call trace:
> damon_new_region+0xf4/0x118 (P)
> damon_set_regions+0xfc/0x3c0
> damon_sample_mtier_build_ctx+0xe8/0x3a8
> damon_sample_mtier_start+0x1c/0x90
> damon_sample_mtier_enable_store+0x98/0xb0
> param_attr_store+0xb4/0x128
> module_attr_store+0x2c/0x50
> sysfs_kf_write+0x58/0x90
> kernfs_fop_write_iter+0x16c/0x238
> vfs_write+0x2c0/0x370
> ksys_write+0x74/0x118
> __arm64_sys_write+0x24/0x38
> invoke_syscall+0xa8/0x118
> el0_svc_common.constprop.0+0x48/0xf0
> do_el0_svc+0x24/0x38
> el0_svc+0x54/0x370
> el0t_64_sync_handler+0xa0/0xe8
> el0t_64_sync+0x1ac/0x1b0
> ---[ end trace 0000000000000000 ]---
>
> Note that the same issue can happen if detect_node_addresses is true, and
> node 0 or 1 is memoryless. Fix it together by checking the validity of
> parameters right before damon_new_region() and fail early if they're
> invalid.

Thank you for this patch, Zenghui!

>
> Signed-off-by: Zenghui Yu <yuzenghui@xxxxxxxxxx>

I think this deserves Fixes: and Cc: stable, like below.

Fixes: 82a08bde3cf7 ("samples/damon: implement a DAMON module for memory tiering")
Cc: <stable@xxxxxxxxxxxxxxx> # 6.16.x

Other than that, looks good to me.

Reviewed-by: SeongJae Park <sj@xxxxxxxxxx>

I applied this patch to damon/next [1] tree. We are now quite close to next
merge window. We (mm community) want to focus on making mm.git more stabilized
and therefore ready for the next merge window, rather than adding more changes
that are not really urgent. I understand this series is not really urgent,
because it is causing only DAMON internal weird behavior and one time warning
on debug kernels.

Hence, Andrew might not add this patch until next -rc1 release. In the case, I
will request adding this to mm.git after next -rc1 release. So, no action from
your side is needed for now. Let me know if you think this is really urgent or
I'm missing something.

[1] https://origin.kernel.org/doc/html/latest/mm/damon/maintainer-profile.html#scm-trees


Thanks,
SJ

[...]