Replace sprintf() with sysfs_emit() in all sysfs attribute show functions. sysfs_emit() is aware of the sysfs buffer page size limit and should be used instead of sprintf() for sysfs show callbacks to prevent potential buffer overflows.
Also add the missing trailing newline to each output, which is the standard convention for sysfs attributes.
Signed-off-by: Gabriel Rondon grondon@gmail.com --- drivers/staging/greybus/audio_manager_module.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/drivers/staging/greybus/audio_manager_module.c b/drivers/staging/greybus/audio_manager_module.c index e87b82ca6..f22ee73eb 100644 --- a/drivers/staging/greybus/audio_manager_module.c +++ b/drivers/staging/greybus/audio_manager_module.c @@ -76,7 +76,7 @@ static void gb_audio_module_release(struct kobject *kobj) static ssize_t gb_audio_module_name_show(struct gb_audio_manager_module *module, struct gb_audio_manager_module_attribute *attr, char *buf) { - return sprintf(buf, "%s", module->desc.name); + return sysfs_emit(buf, "%s\n", module->desc.name); }
static struct gb_audio_manager_module_attribute gb_audio_module_name_attribute = @@ -85,7 +85,7 @@ static struct gb_audio_manager_module_attribute gb_audio_module_name_attribute = static ssize_t gb_audio_module_vid_show(struct gb_audio_manager_module *module, struct gb_audio_manager_module_attribute *attr, char *buf) { - return sprintf(buf, "%d", module->desc.vid); + return sysfs_emit(buf, "%d\n", module->desc.vid); }
static struct gb_audio_manager_module_attribute gb_audio_module_vid_attribute = @@ -94,7 +94,7 @@ static struct gb_audio_manager_module_attribute gb_audio_module_vid_attribute = static ssize_t gb_audio_module_pid_show(struct gb_audio_manager_module *module, struct gb_audio_manager_module_attribute *attr, char *buf) { - return sprintf(buf, "%d", module->desc.pid); + return sysfs_emit(buf, "%d\n", module->desc.pid); }
static struct gb_audio_manager_module_attribute gb_audio_module_pid_attribute = @@ -104,7 +104,7 @@ static ssize_t gb_audio_module_intf_id_show(struct gb_audio_manager_module *modu struct gb_audio_manager_module_attribute *attr, char *buf) { - return sprintf(buf, "%d", module->desc.intf_id); + return sysfs_emit(buf, "%d\n", module->desc.intf_id); }
static struct gb_audio_manager_module_attribute @@ -115,7 +115,7 @@ static ssize_t gb_audio_module_ip_devices_show(struct gb_audio_manager_module *m struct gb_audio_manager_module_attribute *attr, char *buf) { - return sprintf(buf, "0x%X", module->desc.ip_devices); + return sysfs_emit(buf, "0x%X\n", module->desc.ip_devices); }
static struct gb_audio_manager_module_attribute @@ -126,7 +126,7 @@ static ssize_t gb_audio_module_op_devices_show(struct gb_audio_manager_module *m struct gb_audio_manager_module_attribute *attr, char *buf) { - return sprintf(buf, "0x%X", module->desc.op_devices); + return sysfs_emit(buf, "0x%X\n", module->desc.op_devices); }
static struct gb_audio_manager_module_attribute
Doesn't apply for me.
On Thu, Mar 19, 2026 at 12:02:01PM +0000, Gabriel Rondon wrote:
Replace sprintf() with sysfs_emit() in all sysfs attribute show functions. sysfs_emit() is aware of the sysfs buffer page size limit and should be used instead of sprintf() for sysfs show callbacks to prevent potential buffer overflows.
Please clearly state that there are no buffer overflows in the current code.
Also add the missing trailing newline to each output, which is the standard convention for sysfs attributes.
This changes the user space API so it could potentially break a script.
regards, dan carpenter
Thanks for the review. I see the sprintf-to-sysfs_emit conversion was already applied in staging-next. Apologies for the noise
Em qui., 19 de mar. de 2026 às 15:49, Dan Carpenter < dan.carpenter@linaro.org> escreveu:
Doesn't apply for me.
On Thu, Mar 19, 2026 at 12:02:01PM +0000, Gabriel Rondon wrote:
Replace sprintf() with sysfs_emit() in all sysfs attribute show functions. sysfs_emit() is aware of the sysfs buffer page size limit and should be used instead of sprintf() for sysfs show callbacks to prevent potential buffer overflows.
Please clearly state that there are no buffer overflows in the current code.
Also add the missing trailing newline to each output, which is the standard convention for sysfs attributes.
This changes the user space API so it could potentially break a script.
regards, dan carpenter