mirror of
https://github.com/torvalds/linux.git
synced 2026-04-18 06:44:00 -04:00
sysfs: introduce callback attribute_group::bin_size
Several drivers need to dynamically calculate the size of an binary attribute. Currently this is done by assigning attr->size from the is_bin_visible() callback. This has drawbacks: * It is not documented. * A single attribute can be instantiated multiple times, overwriting the shared size field. * It prevents the structure to be moved to read-only memory. Introduce a new dedicated callback to calculate the size of the attribute. Signed-off-by: Thomas Weißschuh <linux@weissschuh.net> Acked-by: Krzysztof Wilczyński <kw@linux.com> Link: https://lore.kernel.org/r/20241103-sysfs-const-bin_attr-v2-2-71110628844c@weissschuh.net Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
0afcee132b
commit
bebf29b18f
@@ -98,6 +98,8 @@ static int create_files(struct kernfs_node *parent, struct kobject *kobj,
|
||||
if (!mode)
|
||||
continue;
|
||||
}
|
||||
if (grp->bin_size)
|
||||
size = grp->bin_size(kobj, *bin_attr, i);
|
||||
|
||||
WARN(mode & ~(SYSFS_PREALLOC | 0664),
|
||||
"Attribute %s: Invalid permissions 0%o\n",
|
||||
|
||||
Reference in New Issue
Block a user