Re: [PATCH v3] damon/sysfs: Fix possible memleak on damon_sysfs_add_target.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Levi,

On Mon, 26 Sep 2022 08:43:27 +0900 Levi Yun <ppbuk5246@xxxxxxxxx> 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 daemon_add_target as soon as allocating new target, Fix this
> possible memory leak.
> 
> Signed-off-by: Levi Yun <ppbuk5246@xxxxxxxxx>
> Fixes:74bd8b7d2f8e7

The commit is indeed the last one which touched the code, but the bug was
introduced earlier than that, by commit a61ea561c871 ("mm/damon/sysfs: link
DAMON for virtual address spaces monitoring").

Also, let's add one space before the commit hash, then only 12 characters for
the hash, and then one line summary of the commit[1], like below.

Fixes: a61ea561c871 ("mm/damon/sysfs: link DAMON for virtual address spaces monitoring")

[1] https://www.kernel.org/doc/html/v4.15/process/submitting-patches.html#describe-your-changes

> Cc: <stable@xxxxxxxxxxxxxxx>
> ---

Also, putting the change log of the patch here would be a good practice.

Other than the very minor things,

Reviewed-by: SeongJae Park <sj@xxxxxxxxxx>


As the changes I'm requesting are very minor, I will revise and post a new
version of this patch on my own.


Thanks,
SJ

>  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
> 



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux