[PATCH] staging: greybus: gbphy: replaced sprintf() with sysfs_emit()

Neel Bullywon posted 1 patch 3 days, 19 hours ago
drivers/staging/greybus/gbphy.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] staging: greybus: gbphy: replaced sprintf() with sysfs_emit()
Posted by Neel Bullywon 3 days, 19 hours ago
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);
 
-- 
2.44.0
Re: [PATCH] staging: greybus: gbphy: replaced sprintf() with sysfs_emit()
Posted by Greg Kroah-Hartman 3 days, 7 hours ago
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
Re: [PATCH] staging: greybus: gbphy: replaced sprintf() with sysfs_emit()
Posted by Dan Carpenter 3 days, 7 hours ago
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