[Virtio-fs] [PATCH][virtio-fs-dev] virtiofsd: Fix fuse_reply_create() to determine correct length of buffer
Dr. David Alan Gilbert
dgilbert at redhat.com
Mon Jul 8 18:42:39 UTC 2019
* Vivek Goyal (vgoyal at redhat.com) wrote:
> Hi Dave,
>
> Following patch needs to be applied on virtio-fs-dev branch to make it
> work with latest kernel. Otherwise file creation reply returns error.
>
> Thanks
> Vivek
>
> Put conditional express in brackets. Otherwise expression being evaluated
> becomes (entrysize + sizeof(struct fuse_open_out) + shared) instead and
> which obviously results in wrong size calculation.
>
> Signed-off-by: Vivek Goyal <vgoyal at redhat.com>
Ouch, that's a nasty one to find; thanks!
Reviewed-by: Dr. David Alan Gilbert <dgilbert at redhat.com>
> ---
> contrib/virtiofsd/fuse_lowlevel.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> Index: qemu/contrib/virtiofsd/fuse_lowlevel.c
> ===================================================================
> --- qemu.orig/contrib/virtiofsd/fuse_lowlevel.c 2019-07-01 13:22:55.489623969 -0400
> +++ qemu/contrib/virtiofsd/fuse_lowlevel.c 2019-07-01 13:23:56.338143585 -0400
> @@ -413,7 +413,7 @@ int fuse_reply_create(fuse_req_t req, co
> ever->version_index = e->version_offset;
> return send_reply_ok(req, buf,
> entrysize + sizeof(struct fuse_open_out) +
> - shared ? sizeof(struct fuse_entryver_out) : 0);
> + (shared ? sizeof(struct fuse_entryver_out) : 0));
> }
>
> int fuse_reply_attr(fuse_req_t req, const struct stat *attr,
--
Dr. David Alan Gilbert / dgilbert at redhat.com / Manchester, UK
More information about the Virtio-fs
mailing list