mirror of
https://github.com/torvalds/linux.git
synced 2026-07-28 10:09:10 +02:00
staging: greybus: loopback: use sysfs_emit in sysfs show functions
As per the kernel's documentation, sysfs_emit() is the preferred way to format strings for sysfs attributes. It handles buffer overruns safely. Replace sprintf calls with sysfs_emit across all loopback sysfs show macros. Signed-off-by: Luis Soza Rodriguez <contact@sluisr.com> Reviewed-by: Dan Carpenter <dan.carpenter@linaro.org> Link: https://patch.msgid.link/20260309230507.4931-1-contact@sluisr.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
e66cd5a8f2
commit
a11fdb9f58
|
|
@ -125,7 +125,7 @@ static ssize_t field##_show(struct device *dev, \
|
|||
char *buf) \
|
||||
{ \
|
||||
struct gb_loopback *gb = dev_get_drvdata(dev); \
|
||||
return sprintf(buf, "%u\n", gb->field); \
|
||||
return sysfs_emit(buf, "%u\n", gb->field); \
|
||||
} \
|
||||
static DEVICE_ATTR_RO(field)
|
||||
|
||||
|
|
@ -137,8 +137,8 @@ static ssize_t name##_##field##_show(struct device *dev, \
|
|||
struct gb_loopback *gb = dev_get_drvdata(dev); \
|
||||
/* Report 0 for min and max if no transfer succeeded */ \
|
||||
if (!gb->requests_completed) \
|
||||
return sprintf(buf, "0\n"); \
|
||||
return sprintf(buf, "%" #type "\n", gb->name.field); \
|
||||
return sysfs_emit(buf, "0\n"); \
|
||||
return sysfs_emit(buf, "%" #type "\n", gb->name.field); \
|
||||
} \
|
||||
static DEVICE_ATTR_RO(name##_##field)
|
||||
|
||||
|
|
@ -158,7 +158,7 @@ static ssize_t name##_avg_show(struct device *dev, \
|
|||
rem = do_div(avg, count); \
|
||||
rem *= 1000000; \
|
||||
do_div(rem, count); \
|
||||
return sprintf(buf, "%llu.%06u\n", avg, (u32)rem); \
|
||||
return sysfs_emit(buf, "%llu.%06u\n", avg, (u32)rem); \
|
||||
} \
|
||||
static DEVICE_ATTR_RO(name##_avg)
|
||||
|
||||
|
|
@ -173,7 +173,7 @@ static ssize_t field##_show(struct device *dev, \
|
|||
char *buf) \
|
||||
{ \
|
||||
struct gb_loopback *gb = dev_get_drvdata(dev); \
|
||||
return sprintf(buf, "%" #type "\n", gb->field); \
|
||||
return sysfs_emit(buf, "%" #type "\n", gb->field); \
|
||||
} \
|
||||
static ssize_t field##_store(struct device *dev, \
|
||||
struct device_attribute *attr, \
|
||||
|
|
@ -199,7 +199,7 @@ static ssize_t field##_show(struct device *dev, \
|
|||
char *buf) \
|
||||
{ \
|
||||
struct gb_loopback *gb = dev_get_drvdata(dev); \
|
||||
return sprintf(buf, "%u\n", gb->field); \
|
||||
return sysfs_emit(buf, "%u\n", gb->field); \
|
||||
} \
|
||||
static DEVICE_ATTR_RO(field)
|
||||
|
||||
|
|
@ -209,7 +209,7 @@ static ssize_t field##_show(struct device *dev, \
|
|||
char *buf) \
|
||||
{ \
|
||||
struct gb_loopback *gb = dev_get_drvdata(dev); \
|
||||
return sprintf(buf, "%" #type "\n", gb->field); \
|
||||
return sysfs_emit(buf, "%" #type "\n", gb->field); \
|
||||
} \
|
||||
static ssize_t field##_store(struct device *dev, \
|
||||
struct device_attribute *attr, \
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user