[PATCH] fuse: use sysfs_emit() instead of sprintf()

chen zhang posted 1 patch 3 days, 1 hour ago
fs/fuse/cuse.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] fuse: use sysfs_emit() instead of sprintf()
Posted by chen zhang 3 days, 1 hour ago
Follow the advice in Documentation/filesystems/sysfs.rst:
show() should only use sysfs_emit() or sysfs_emit_at() when formatting
the value to be returned to user space.

Signed-off-by: chen zhang <chenzhang@kylinos.cn>
---
 fs/fuse/cuse.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/fuse/cuse.c b/fs/fuse/cuse.c
index 28c96961e85d..0c8e7259f489 100644
--- a/fs/fuse/cuse.c
+++ b/fs/fuse/cuse.c
@@ -581,7 +581,7 @@ static ssize_t cuse_class_waiting_show(struct device *dev,
 {
 	struct cuse_conn *cc = dev_get_drvdata(dev);
 
-	return sprintf(buf, "%d\n", atomic_read(&cc->fc.num_waiting));
+	return sysfs_emit(buf, "%d\n", atomic_read(&cc->fc.num_waiting));
 }
 static DEVICE_ATTR(waiting, 0400, cuse_class_waiting_show, NULL);
 
-- 
2.25.1
Re: [PATCH] fuse: use sysfs_emit() instead of sprintf()
Posted by Joanne Koong 2 days, 23 hours ago
On Mon, Dec 15, 2025 at 10:44 AM chen zhang <chenzhang@kylinos.cn> wrote:
>
> Follow the advice in Documentation/filesystems/sysfs.rst:
> show() should only use sysfs_emit() or sysfs_emit_at() when formatting
> the value to be returned to user space.

I think it'd be useful here to include why too (eg that it handles the
page-sized buffer limit and prevents potential buffer overflow)

>
> Signed-off-by: chen zhang <chenzhang@kylinos.cn>

nit: the convention (at least as far as I can tell :)) is for
signed-off-by names to be capitalized

> ---
>  fs/fuse/cuse.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/fs/fuse/cuse.c b/fs/fuse/cuse.c
> index 28c96961e85d..0c8e7259f489 100644
> --- a/fs/fuse/cuse.c
> +++ b/fs/fuse/cuse.c
> @@ -581,7 +581,7 @@ static ssize_t cuse_class_waiting_show(struct device *dev,
>  {
>         struct cuse_conn *cc = dev_get_drvdata(dev);
>
> -       return sprintf(buf, "%d\n", atomic_read(&cc->fc.num_waiting));
> +       return sysfs_emit(buf, "%d\n", atomic_read(&cc->fc.num_waiting));
>  }
>  static DEVICE_ATTR(waiting, 0400, cuse_class_waiting_show, NULL);

Reviewed-by: Joanne Koong <joannelkoong@gmail.com>

btw, cpu_list_show() in fuse/virtio_fs.c could be converted to use
sysfs_emit_at() as well.

Thanks,
Joanne
>
> --
> 2.25.1
>