Message ID | 20221002193130.8227-1-sj@kernel.org (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | mm/damon/core: initialize damon_target->list in damon_new_target() | expand |
On Sun, Oct 02, 2022 at 07:31:30PM +0000, SeongJae Park wrote: > '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()'. > > Reported-by: Hyeonggon Yoo <42.hyeyoo@gmail.com> > Fixes: f23b8eee1871 ("mm/damon/core: implement region-based sampling") > Signed-off-by: SeongJae Park <sj@kernel.org> > --- > > 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->regions_list); > + INIT_LIST_HEAD(&t->list); > > return t; > } I tried again with it and this fixes the bug I reported. Tested-by: Hyeonggon Yoo <42.hyeyoo@gmail.com> Thank you for such a quick fix! > -- > 2.25.1 >
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->regions_list); + INIT_LIST_HEAD(&t->list); return t; }
'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()'. Reported-by: Hyeonggon Yoo <42.hyeyoo@gmail.com> Fixes: f23b8eee1871 ("mm/damon/core: implement region-based sampling") Signed-off-by: SeongJae Park <sj@kernel.org> --- mm/damon/core.c | 1 + 1 file changed, 1 insertion(+)