]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
mm/damon/sysfs-schemes: fix double increment of nr_regions
authorVineet Agarwal <agarwal.vineet2006@gmail.com>
Tue, 12 May 2026 04:11:57 +0000 (09:41 +0530)
committerAndrew Morton <akpm@linux-foundation.org>
Tue, 2 Jun 2026 22:22:13 +0000 (15:22 -0700)
damos_sysfs_populate_region_dir() increments sysfs_regions->nr_regions
twice when adding a new region: once explicitly before
kobject_init_and_add(), and once again through the post-increment used for
the kobject name.

As a result, nr_regions no longer matches the actual number of live
regions, and region directory names skip numbers (1, 3, 5, ...).

Use the already incremented value for naming instead of incrementing
nr_regions a second time.

Link: https://lore.kernel.org/20260512041157.109845-1-agarwal.vineet2006@gmail.com
Fixes: 66178e4ec30a ("mm/damon/sysfs: use damos_walk() for update_schemes_tried_{bytes,regions}")
Signed-off-by: Vineet Agarwal <agarwal.vineet2006@gmail.com>
Reviewed-by: SeongJae Park <sj@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/damon/sysfs-schemes.c

index ab2153fff9a83e432b0013fd9c684509c6dd1651..0d3021db0b99bfa1a93c6e4cceda7d50e8636fa5 100644 (file)
@@ -2995,7 +2995,7 @@ void damos_sysfs_populate_region_dir(struct damon_sysfs_schemes *sysfs_schemes,
        if (kobject_init_and_add(&region->kobj,
                                &damon_sysfs_scheme_region_ktype,
                                &sysfs_regions->kobj, "%d",
-                               sysfs_regions->nr_regions++)) {
+                               sysfs_regions->nr_regions)) {
                kobject_put(&region->kobj);
                return;
        }