Re: [PATCH 1/2] sysfs: Add sysfs_bin_attr_simple_read() helper

From: Greg Kroah-Hartman
Date: Thu Apr 11 2024 - 09:07:24 EST


On Sat, Apr 06, 2024 at 03:52:01PM +0200, Lukas Wunner wrote:
> When drivers expose a bin_attribute in sysfs which is backed by a buffer
> in memory, a common pattern is to set the @private and @size members in
> struct bin_attribute to the buffer's location and size.
>
> The ->read() callback then merely consists of a single memcpy() call.
> It's not even necessary to perform bounds checks as these are already
> handled by sysfs_kf_bin_read().
>
> However each driver is so far providing its own ->read() implementation.
> The pattern is sufficiently frequent to merit a public helper, so add
> sysfs_bin_attr_simple_read() as well as BIN_ATTR_SIMPLE_RO() and
> BIN_ATTR_SIMPLE_ADMIN_RO() macros to ease declaration of such
> bin_attributes and reduce LoC and .text section size.
>
> Signed-off-by: Lukas Wunner <lukas@xxxxxxxxx>
> ---
> fs/sysfs/file.c | 27 +++++++++++++++++++++++++++
> include/linux/sysfs.h | 15 +++++++++++++++
> 2 files changed, 42 insertions(+)

Reviewed-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>