It should be called damon_del_region() before free each region, so use damon_destroy_region() instead of damon_free_region(). Fixes: f23b8eee1871 (mm/damon/core: implement region-based sampling) Signed-off-by: Yajun Deng <yajun.deng@xxxxxxxxx> --- mm/damon/core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mm/damon/core.c b/mm/damon/core.c index 0b1eb945c68a..e62e7ebf4b12 100644 --- a/mm/damon/core.c +++ b/mm/damon/core.c @@ -361,7 +361,7 @@ void damon_free_target(struct damon_target *t) struct damon_region *r, *next; damon_for_each_region_safe(r, next, t) - damon_free_region(r); + damon_destroy_region(r, t); kfree(t); } -- 2.25.1