Message ID | 20220925234053.26090-1-ppbuk5246@gmail.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | [v2] damon/sysfs: Fix possible memleak on damon_sysfs_add_target. | expand |
Sorry to make noise... I miss the fixes tag, resend the patch! Thanks! On Mon, Sep 26, 2022 at 8:41 AM Levi Yun <ppbuk5246@gmail.com> wrote: > > When damon_sysfs_add_target couldn't find proper task, > New allocated damon_target structure isn't registered yet, > So, it's impossible to free new allocated one by > damon_sysfs_destroy_targets. > > By calling damon_add_target first as soon as allocate new one, > Fix possible memory leak. > > Signed-off-by: Levi Yun <ppbuk5246@gmail.com> > --- > mm/damon/sysfs.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/mm/damon/sysfs.c b/mm/damon/sysfs.c > index 7488e27c87c3..bdef9682d0a0 100644 > --- a/mm/damon/sysfs.c > +++ b/mm/damon/sysfs.c > @@ -2182,12 +2182,12 @@ static int damon_sysfs_add_target(struct damon_sysfs_target *sys_target, > > if (!t) > return -ENOMEM; > + damon_add_target(ctx, t); > if (damon_target_has_pid(ctx)) { > t->pid = find_get_pid(sys_target->pid); > if (!t->pid) > goto destroy_targets_out; > } > - damon_add_target(ctx, t); > err = damon_sysfs_set_regions(t, sys_target->regions); > if (err) > goto destroy_targets_out; > -- > 2.35.1
diff --git a/mm/damon/sysfs.c b/mm/damon/sysfs.c index 7488e27c87c3..bdef9682d0a0 100644 --- a/mm/damon/sysfs.c +++ b/mm/damon/sysfs.c @@ -2182,12 +2182,12 @@ static int damon_sysfs_add_target(struct damon_sysfs_target *sys_target, if (!t) return -ENOMEM; + damon_add_target(ctx, t); if (damon_target_has_pid(ctx)) { t->pid = find_get_pid(sys_target->pid); if (!t->pid) goto destroy_targets_out; } - damon_add_target(ctx, t); err = damon_sysfs_set_regions(t, sys_target->regions); if (err) goto destroy_targets_out;
When damon_sysfs_add_target couldn't find proper task, New allocated damon_target structure isn't registered yet, So, it's impossible to free new allocated one by damon_sysfs_destroy_targets. By calling damon_add_target first as soon as allocate new one, Fix possible memory leak. Signed-off-by: Levi Yun <ppbuk5246@gmail.com> --- mm/damon/sysfs.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- 2.35.1