]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
mm/damon/core: initialize damon_target->list in damon_new_target()
authorSeongJae Park <sj@kernel.org>
Sun, 2 Oct 2022 19:31:30 +0000 (19:31 +0000)
committerAndrew Morton <akpm@linux-foundation.org>
Wed, 12 Oct 2022 02:05:44 +0000 (19:05 -0700)
'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
field.

This commit avoids the case by initializing the field in
'damon_new_target()'.

Link: https://lkml.kernel.org/r/20221002193130.8227-1-sj@kernel.org
Fixes: f23b8eee1871 ("mm/damon/core: implement region-based sampling")
Signed-off-by: SeongJae Park <sj@kernel.org>
Reported-by: Hyeonggon Yoo <42.hyeyoo@gmail.com>
Tested-by: Hyeonggon Yoo <42.hyeyoo@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/damon/core.c

index 7d25dc582fe34427d2063793f5667e9fe3a0e423..4cbe7867b547c0783a3a8e1a1a29707dd5b0bf5e 100644 (file)
@@ -313,6 +313,7 @@ struct damon_target *damon_new_target(void)
        t->pid = NULL;
        t->nr_regions = 0;
        INIT_LIST_HEAD(&t->regions_list);
+       INIT_LIST_HEAD(&t->list);
 
        return t;
 }