lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250423175040.784680-1-david.e.box@linux.intel.com>
Date: Wed, 23 Apr 2025 10:50:30 -0700
From: "David E. Box" <david.e.box@...ux.intel.com>
To: corbet@....net,
	bhelgaas@...gle.com,
	kuurtb@...il.com,
	hdegoede@...hat.com,
	ilpo.jarvinen@...ux.intel.com,
	vkoul@...nel.org,
	yung-chuan.liao@...ux.intel.com,
	pierre-louis.bossart@...ux.dev,
	sanyog.r.kale@...el.com,
	gregkh@...uxfoundation.org,
	rafael@...nel.org,
	dakr@...nel.org,
	david.e.box@...ux.intel.com,
	dan.j.williams@...el.com,
	andriy.shevchenko@...ux.intel.com
Cc: linux-doc@...r.kernel.org,
	linux-kernel@...r.kernel.org,
	linux-pci@...r.kernel.org,
	platform-driver-x86@...r.kernel.org,
	Dell.Client.Kernel@...l.com,
	linux-sound@...r.kernel.org
Subject: [PATCH 0/7] sysfs: Introduce macros for attribute groups with visibility control

The ATTRIBUTE_GROUP() helper does not support adding an .is_visible
function for visibility control. With the introduction of
SYSFS_GROUP_VISIBLE, DEFINE_SYSFS_GROUP_VISIBLE, and related macros,
attribute group definitions can now fully encapsulate visibility logic
while eliminating boilerplate code.

The following new macros are introduced:

        NAMED_ATTRIBUTE_GROUP_VISIBLE()
        NAMED_ATTRIBUTE_GROUPS_VISIBLE()
        NAMED_ATTRIBUTE_GROUP_COMBO_VISIBLE()
        NAMED_ATTRIBUTE_GROUPS_COMBO_VISIBLE()

This isn’t just a cleanup effort — I plan to use these macros in new driver
code I'm working on, and wanted to avoid having to open-code these common
visibility patterns yet again. Documenting and generalizing them now will
help avoid duplication and make future code easier to read and maintain.

These macros integrate visibility logic directly into attribute group
definitions, improving readability and maintainability. The
DEFINE[_SIMPLE_]ATTRIBUTE_GROUP_VISIBLE() macros current have four users.
Two out of them could be modified. The usbtouchscreen driver uses the @name
field which isn't supported by ATTRIBUTE_GROUPS(). But for the ones that
could be modified the diffstat was significant:

 drivers/pci/doe.c                              |  2 +-
 drivers/platform/x86/dell/alienware-wmi-base.c | 23 +++++++++--------------
 drivers/platform/x86/dell/alienware-wmi-wmax.c |  7 ++++---
 drivers/soundwire/sysfs_slave.c                | 32 +++++++++++++-------------------
 4 files changed, 27 insertions(+), 37 deletions(-)

David E. Box (7):
  sysfs: Rename attribute group visibility macros
  sysfs: Introduce macros to simplify creation of visible attribute
    groups
  docs: sysfs.rst: document additional attribute group macros
  pci: doe: Replace sysfs visibility macro
  soundwire: sysfs: Use ATTRIBUTE_GROUP_VISIBLE()
  platform/x86/dell: alienware-wmi: update sysfs visibility macros
  sysfs: Remove transitional attribute group alias macros

 Documentation/filesystems/sysfs.rst           | 244 ++++++++++++++++++
 drivers/pci/doe.c                             |   2 +-
 .../platform/x86/dell/alienware-wmi-base.c    |  23 +-
 .../platform/x86/dell/alienware-wmi-wmax.c    |   7 +-
 drivers/soundwire/sysfs_slave.c               |  32 +--
 include/linux/sysfs.h                         |  46 +++-
 6 files changed, 306 insertions(+), 48 deletions(-)


base-commit: 9c32cda43eb78f78c73aee4aa344b777714e259b
-- 
2.43.0


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ