mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-08-30 12:13:51 -04:00
mm/damon/sysfs-schemes: kobject_del() scheme dirs
On CONFIG_DEBUG_KOBJECT_RELEASE enabled kernel, lack of kobject_del()
could cause directories creation failures due to the name conflicts. Fix
those issues for scheme directories by adding kobject_del() calls.
Link: https://lore.kernel.org/20260628220121.97360-4-sj@kernel.org
Fixes: 7e84b1f821 ("mm/damon/sysfs: support DAMON-based Operation Schemes")
Signed-off-by: SJ Park <sj@kernel.org>
Cc: <stable@vger.kernel.org> # 5.18.x
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
@@ -2681,6 +2681,7 @@ void damon_sysfs_schemes_rm_dirs(struct damon_sysfs_schemes *schemes)
|
||||
|
||||
for (i = 0; i < schemes->nr; i++) {
|
||||
damon_sysfs_scheme_rm_dirs(schemes_arr[i]);
|
||||
kobject_del(&schemes_arr[i]->kobj);
|
||||
kobject_put(&schemes_arr[i]->kobj);
|
||||
}
|
||||
schemes->nr = 0;
|
||||
@@ -2722,13 +2723,15 @@ static int damon_sysfs_schemes_add_dirs(struct damon_sysfs_schemes *schemes,
|
||||
goto out;
|
||||
err = damon_sysfs_scheme_add_dirs(scheme);
|
||||
if (err)
|
||||
goto out;
|
||||
goto del_out;
|
||||
|
||||
schemes_arr[i] = scheme;
|
||||
schemes->nr++;
|
||||
}
|
||||
return 0;
|
||||
|
||||
del_out:
|
||||
kobject_del(&scheme->kobj);
|
||||
out:
|
||||
damon_sysfs_schemes_rm_dirs(schemes);
|
||||
kobject_put(&scheme->kobj);
|
||||
|
||||
Reference in New Issue
Block a user