Re: [PATCH] fuse: don't set file->private_data in fuse_conn_waiting_read

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Feb 4, 2025 at 7:09 AM Jeff Layton <jlayton@xxxxxxxxxx> wrote:
>
> I see no reason to set the private_data on the file to this value. Just
> grab the result of the atomic_read() and output it without setting
> private_data.
>
> Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxx>

Reviewed-by: Joanne Koong <joannelkoong@xxxxxxxxx>

> ---
>  fs/fuse/control.c | 5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/fs/fuse/control.c b/fs/fuse/control.c
> index 2a730d88cc3bdb50ea1f8a3185faad5f05fc6e74..17ef07cf0c38e44bd7eadb3450bd53a8acc5e885 100644
> --- a/fs/fuse/control.c
> +++ b/fs/fuse/control.c
> @@ -49,18 +49,17 @@ static ssize_t fuse_conn_waiting_read(struct file *file, char __user *buf,
>  {
>         char tmp[32];
>         size_t size;
> +       int value;
>

It might be helpful if a "if (*ppos) return -EINVAL;" check gets added here too?


>         if (!*ppos) {
> -               long value;
>                 struct fuse_conn *fc = fuse_ctl_file_conn_get(file);
>                 if (!fc)
>                         return 0;
>
>                 value = atomic_read(&fc->num_waiting);
> -               file->private_data = (void *)value;
>                 fuse_conn_put(fc);
>         }
> -       size = sprintf(tmp, "%ld\n", (long)file->private_data);
> +       size = sprintf(tmp, "%d\n", value);
>         return simple_read_from_buffer(buf, len, ppos, tmp, size);
>  }
>
>
> ---
> base-commit: 9afd7336f3acbe5678cca3b3bc5baefb51ce9564
> change-id: 20250204-fuse-fixes-03882c05c1b1
>
> Best regards,
> --
> Jeff Layton <jlayton@xxxxxxxxxx>
>
>


>         if (!*ppos) {
> -               long value;
>                 struct fuse_conn *fc = fuse_ctl_file_conn_get(file);
>                 if (!fc)
>                         return 0;
>
>                 value = atomic_read(&fc->num_waiting);
> -               file->private_data = (void *)value;
>                 fuse_conn_put(fc);
>         }
> -       size = sprintf(tmp, "%ld\n", (long)file->private_data);
> +       size = sprintf(tmp, "%d\n", value);
>         return simple_read_from_buffer(buf, len, ppos, tmp, size);
>  }
>
>
> ---
> base-commit: 9afd7336f3acbe5678cca3b3bc5baefb51ce9564
> change-id: 20250204-fuse-fixes-03882c05c1b1
>
> Best regards,
> --
> Jeff Layton <jlayton@xxxxxxxxxx>
>
>





[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [NTFS 3]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [NTFS 3]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux