]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
mm/slab: create sysfs attribute through default_groups
authorThomas Weißschuh <linux@weissschuh.net>
Mon, 23 Feb 2026 21:37:43 +0000 (22:37 +0100)
committerVlastimil Babka (SUSE) <vbabka@kernel.org>
Thu, 26 Feb 2026 14:25:06 +0000 (15:25 +0100)
The driver core can automatically create custom type attributes.
This makes the code and error-handling shorter.

Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
Reviewed-by: Harry Yoo <harry.yoo@oracle.com>
Link: https://patch.msgid.link/20260223-sysfs-const-slub-v1-1-ff86ffc26fff@weissschuh.net
Signed-off-by: Vlastimil Babka (SUSE) <vbabka@kernel.org>
mm/slub.c

index 862642c165eddd36d22b941344250baf3b820823..a48ea23b17282fcae6bf4ee914ed520f2eb10b04 100644 (file)
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -9317,9 +9317,7 @@ static struct attribute *slab_attrs[] = {
        NULL
 };
 
-static const struct attribute_group slab_attr_group = {
-       .attrs = slab_attrs,
-};
+ATTRIBUTE_GROUPS(slab);
 
 static ssize_t slab_attr_show(struct kobject *kobj,
                                struct attribute *attr,
@@ -9366,6 +9364,7 @@ static const struct sysfs_ops slab_sysfs_ops = {
 static const struct kobj_type slab_ktype = {
        .sysfs_ops = &slab_sysfs_ops,
        .release = kmem_cache_release,
+       .default_groups = slab_groups,
 };
 
 static struct kset *slab_kset;
@@ -9453,10 +9452,6 @@ static int sysfs_slab_add(struct kmem_cache *s)
        if (err)
                goto out;
 
-       err = sysfs_create_group(&s->kobj, &slab_attr_group);
-       if (err)
-               goto out_del_kobj;
-
        if (!unmergeable) {
                /* Setup first alias */
                sysfs_slab_alias(s, s->name);
@@ -9465,9 +9460,6 @@ out:
        if (!unmergeable)
                kfree(name);
        return err;
-out_del_kobj:
-       kobject_del(&s->kobj);
-       goto out;
 }
 
 void sysfs_slab_unlink(struct kmem_cache *s)