Skip to contentSkip to conversation

FAILED: patch "[PATCH] damon/sysfs: fix possible memleak on damon_sysfs_add_target" failed to apply to 5.19-stable tree

PATCH [email protected] 1 participant 1 message Oct 2, 2022

Subsystems (3)
lore
Share & tools
lore

[email protected]

author maintainer
#0 lore raw

The patch below does not apply to the 5.19-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.

Possible dependencies:

1c8e2349f2d0 ("damon/sysfs: fix possible memleak on damon_sysfs_add_target") c9e124e0382d ("mm/damon/{dbgfs,sysfs}: move target_has_pid() from dbgfs to damon.h")

thanks,

greg k-h

------------------ original commit in Linus's tree ------------------

From 1c8e2349f2d033f634d046063b704b2ca6c46972 Mon Sep 17 00:00:00 2001
From: Levi Yun <[email protected]>
Date: Mon, 26 Sep 2022 16:06:11 +0000
Subject: [PATCH] damon/sysfs: fix possible memleak on damon_sysfs_add_target

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 as soon as allocating new target, Fix this possible memory leak.

Fixes a61ea561c871 ("mm/damon/sysfs: link DAMON for virtual address spaces monitoring")
Cc <[email protected]> [5.17.x]
mm/damon/sysfs.c +1 -1
index 7488e27c87c3..bdef9682d0a0 100644
@@ -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;