[PATCH v5 0/7] sysfs: prepare the constification of struct attribute

Thomas Weißschuh posted 7 patches 1 month, 2 weeks ago
fs/sysfs/group.c               | 10 +++++++--
include/linux/sysfs.h          | 48 +++++++++++++++++++++++++-----------------
samples/kobject/kset-example.c | 44 ++++++++++++++++++++++++++------------
3 files changed, 67 insertions(+), 35 deletions(-)
[PATCH v5 0/7] sysfs: prepare the constification of struct attribute
Posted by Thomas Weißschuh 1 month, 2 weeks ago
The migration of 'struct attribute' and its related structures and
macros are more complicated than those for 'struct bin_attribute'.
Mostly because they are all shared by various custom attribute types.
Introduce some initial utilities to support the migration.
These are enough to migrate some specialized attributes atomically or
those which don't use 'struct attribute' in their callbacks stepwise.

The big outstanding problems are 'struct device_attribute' and
'struct kobj_attribute'. These are used everywhere and I'm not yet sure
about a migration plan.

Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
---
Changes in v5:
- Use the new CONFIG_CFI over the old CONFIG_CFI_CLANG
- Link to v4: https://lore.kernel.org/r/20251013-sysfs-const-attr-prep-v4-0-e0d36e828334@weissschuh.net

Changes in v4:
- Rebase onto v6.18-rc1
- Rename _new -> _const
- Link to v3: https://lore.kernel.org/r/20250811-sysfs-const-attr-prep-v3-0-0d973ff46afc@weissschuh.net

Changes in v3:
- Rebase von v6.17-rc1
- Link to v2: https://lore.kernel.org/r/20250629-sysfs-const-attr-prep-v2-0-9ec5fe39083f@weissschuh.net

Changes in v2:
- Rebase onto driver-core-next
- Simplify attribute macro definitions
- +Cc Danilo
- Link to v1: https://lore.kernel.org/r/20250116-sysfs-const-attr-prep-v1-0-15e72dba4205@weissschuh.net

---
Thomas Weißschuh (7):
      sysfs: attribute_group: allow registration of const attribute
      sysfs: transparently handle const pointers in ATTRIBUTE_GROUPS()
      sysfs: introduce __SYSFS_FUNCTION_ALTERNATIVE()
      sysfs: attribute_group: enable const variants of is_visible()
      samples/kobject: add is_visible() callback to attribute group
      samples/kobject: constify 'struct foo_attribute'
      sysfs: simplify attribute definition macros

 fs/sysfs/group.c               | 10 +++++++--
 include/linux/sysfs.h          | 48 +++++++++++++++++++++++++-----------------
 samples/kobject/kset-example.c | 44 ++++++++++++++++++++++++++------------
 3 files changed, 67 insertions(+), 35 deletions(-)
---
base-commit: 3a8660878839faadb4f1a6dd72c3179c1df56787
change-id: 20250114-sysfs-const-attr-prep-e9414982dc4f

Best regards,
-- 
Thomas Weißschuh <linux@weissschuh.net>

Re: [PATCH v5 0/7] sysfs: prepare the constification of struct attribute
Posted by Greg Kroah-Hartman 2 weeks, 3 days ago
On Wed, Oct 29, 2025 at 09:12:09AM +0100, Thomas Weißschuh wrote:
> The migration of 'struct attribute' and its related structures and
> macros are more complicated than those for 'struct bin_attribute'.
> Mostly because they are all shared by various custom attribute types.
> Introduce some initial utilities to support the migration.
> These are enough to migrate some specialized attributes atomically or
> those which don't use 'struct attribute' in their callbacks stepwise.
> 
> The big outstanding problems are 'struct device_attribute' and
> 'struct kobj_attribute'. These are used everywhere and I'm not yet sure
> about a migration plan.
> 
> Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
> ---

Sorry for the delay, this looks good, now queued up.

greg k-h