* [PATCH] staging: greybus: Replace sprintf with sysfs_emit
@ 2026-07-15 17:28 Mohammad Davoudi
0 siblings, 0 replies; only message in thread
From: Mohammad Davoudi @ 2026-07-15 17:28 UTC (permalink / raw)
To: johan, elder, gregkh, rmfrfs
Cc: greybus-dev, linux-staging, linux-kernel, Mohammad Davoudi
Replace sprintf() with sysfs_emit() in sysfs show functions.
The sprintf() function is unaware of the PAGE_SIZE limit of the sysfs
buffer, which can potentially lead to buffer overruns. sysfs_emit()
is strictly designed for sysfs attributes and inherently protects
against buffer boundaries.
Signed-off-by: Mohammad Davoudi <MDavoudi2011@gmail.com>
---
drivers/staging/greybus/gbphy.c | 2 +-
drivers/staging/greybus/light.c | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/staging/greybus/gbphy.c b/drivers/staging/greybus/gbphy.c
index bdb0f5164..bb9a5b538 100644
--- a/drivers/staging/greybus/gbphy.c
+++ b/drivers/staging/greybus/gbphy.c
@@ -31,7 +31,7 @@ static ssize_t protocol_id_show(struct device *dev,
{
struct gbphy_device *gbphy_dev = to_gbphy_dev(dev);
- return sprintf(buf, "0x%02x\n", gbphy_dev->cport_desc->protocol_id);
+ return sysfs_emit(buf, "0x%02x\n", gbphy_dev->cport_desc->protocol_id);
}
static DEVICE_ATTR_RO(protocol_id);
diff --git a/drivers/staging/greybus/light.c b/drivers/staging/greybus/light.c
index cab02b5da..2689f9a75 100644
--- a/drivers/staging/greybus/light.c
+++ b/drivers/staging/greybus/light.c
@@ -173,7 +173,7 @@ static ssize_t fade_##__dir##_show(struct device *dev, \
struct led_classdev *cdev = dev_get_drvdata(dev); \
struct gb_channel *channel = get_channel_from_cdev(cdev); \
\
- return sprintf(buf, "%u\n", channel->fade_##__dir); \
+ return sysfs_emit(buf, "%u\n", channel->fade_##__dir); \
} \
\
static ssize_t fade_##__dir##_store(struct device *dev, \
@@ -220,7 +220,7 @@ static ssize_t color_show(struct device *dev, struct device_attribute *attr,
struct led_classdev *cdev = dev_get_drvdata(dev);
struct gb_channel *channel = get_channel_from_cdev(cdev);
- return sprintf(buf, "0x%08x\n", channel->color);
+ return sysfs_emit(buf, "0x%08x\n", channel->color);
}
static ssize_t color_store(struct device *dev, struct device_attribute *attr,
--
2.43.0
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2026-07-15 17:30 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-15 17:28 [PATCH] staging: greybus: Replace sprintf with sysfs_emit Mohammad Davoudi
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox