Replaced sprintf() with sysfs_emit in the protocol_id_show() sysfs attribute func to prevent any potential buffer overflows
This is to ensure a kernel-wide migration to safer string formatting functions for sysfs handlers
This was compile-tested only (no VM/hardware used)
Signed-off-by: Neel Bullywon neelb2403@gmail.com --- drivers/staging/greybus/gbphy.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/staging/greybus/gbphy.c b/drivers/staging/greybus/gbphy.c index 60cf09a302a7..55f132b09cee 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);
On Tue, Feb 03, 2026 at 04:22:54PM -0500, Neel Bullywon wrote:
Replaced sprintf() with sysfs_emit in the protocol_id_show() sysfs attribute func to prevent any potential buffer overflows
There are no buffer overflows here. buf is PAGE_SIZE so it's more than large enough. I like this change, but the commit message implies there is a potential buffer overflow and that's wrong.
Say something like: "This code is safe, but replace sprintf() with sysfs_emit() because we are trying to get rid of calls to sprintf() as part of kernel hardenning and sysfs_emit() is more appropriate in this context".
This is to ensure a kernel-wide migration to safer string formatting functions for sysfs handlers
This was compile-tested only (no VM/hardware used)
Don't put this sort of comment in the commit message. Put it under the --- cut off line.
Signed-off-by: Neel Bullywon neelb2403@gmail.com
^^^ Here.
regards, dan carpenter
On Tue, Feb 03, 2026 at 04:22:54PM -0500, Neel Bullywon wrote:
Replaced sprintf() with sysfs_emit in the protocol_id_show() sysfs attribute func to prevent any potential buffer overflows
This is to ensure a kernel-wide migration to safer string formatting functions for sysfs handlers
This was compile-tested only (no VM/hardware used)
Signed-off-by: Neel Bullywon neelb2403@gmail.com
drivers/staging/greybus/gbphy.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/staging/greybus/gbphy.c b/drivers/staging/greybus/gbphy.c index 60cf09a302a7..55f132b09cee 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);
As Dan said, this really isn't a needed change. sysfs_emit() is great for new sysfs files, but for existing ones, sprintf() is just fine.
thanks,
greg k-h