Commit 5aa2a02b authored by Thomas Weißschuh's avatar Thomas Weißschuh Committed by Vlastimil Babka (SUSE)
Browse files

mm/slab: create sysfs attribute through default_groups



The driver core can automatically create custom type attributes.
This makes the code and error-handling shorter.

Signed-off-by: default avatarThomas Weißschuh <linux@weissschuh.net>
Reviewed-by: default avatarHarry Yoo <harry.yoo@oracle.com>
Link: https://patch.msgid.link/20260223-sysfs-const-slub-v1-1-ff86ffc26fff@weissschuh.net


Signed-off-by: default avatarVlastimil Babka (SUSE) <vbabka@kernel.org>
parent 6de23f81
Loading
Loading
Loading
Loading
+2 −10
Original line number Diff line number Diff line
@@ -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 @@ static int sysfs_slab_add(struct kmem_cache *s)
	if (!unmergeable)
		kfree(name);
	return err;
out_del_kobj:
	kobject_del(&s->kobj);
	goto out;
}

void sysfs_slab_unlink(struct kmem_cache *s)