[PATCH] mm/damon/core: initialize damon_target->list in damon_new_target()

From: SeongJae Park
Date: Sun Oct 02 2022 - 15:31:45 EST

'struct damon_target' creation function, 'damon_new_target()' is not
initializing its '->list' field, unlike other DAMON structs creator
functions such as 'damon_new_region()'. Normal users of
'damon_new_target()' initializes the field by adding the target to DAMON
context's targets list, but some code could access the uninitialized

This commit avoids the case by initializing the field in

Reported-by: Hyeonggon Yoo <42.hyeyoo@xxxxxxxxx>
Fixes: f23b8eee1871 ("mm/damon/core: implement region-based sampling")
Signed-off-by: SeongJae Park <sj@xxxxxxxxxx>

mm/damon/core.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/mm/damon/core.c b/mm/damon/core.c
index 1d952fa7ba3e..1e6691771a95 100644
--- a/mm/damon/core.c
+++ b/mm/damon/core.c
@@ -345,6 +345,7 @@ struct damon_target *damon_new_target(void)
t->pid = NULL;
t->nr_regions = 0;
+ INIT_LIST_HEAD(&t->list);

return t;