[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] Fix bug with virtio-9p fsync
From: |
Stefan Hajnoczi |
Subject: |
Re: [Qemu-devel] [PATCH] Fix bug with virtio-9p fsync |
Date: |
Tue, 26 Apr 2011 13:58:48 +0100 |
On Tue, Apr 26, 2011 at 1:14 PM, Sassan Panahinejad <address@hidden> wrote:
> v9fs_fsync and possibly others break when asked to operate on a directory.
> It does not check fid_type to see if it is operating on a directory and
> therefore accesses the wrong element of the fs union.
> This error can result in guest applications failing (in my case it was dpkg).
> This patch fixes the issue, although there may be other, similar bugs in
> virtio-9p.
>
> Signed-off-by: Sassan Panahinejad <address@hidden>
> ---
> hw/virtio-9p.c | 6 +++++-
> 1 files changed, 5 insertions(+), 1 deletions(-)
>
> diff --git a/hw/virtio-9p.c b/hw/virtio-9p.c
> index 7e29535..cc4fdc8 100644
> --- a/hw/virtio-9p.c
> +++ b/hw/virtio-9p.c
> @@ -1875,7 +1875,11 @@ static void v9fs_fsync(V9fsState *s, V9fsPDU *pdu)
> v9fs_post_do_fsync(s, pdu, err);
> return;
> }
> - err = v9fs_do_fsync(s, fidp->fs.fd, datasync);
> + if (fidp->fid_type == P9_FID_DIR) {
> + err = v9fs_do_fsync(s, dirfd(fidp->fs.dir), datasync);
> + } else {
> + err = v9fs_do_fsync(s, fidp->fs.fd, datasync);
> + }
What about P9_FID_XATTR, seems like we have the same issue there too?
wstat, lock, and getlock need closer auditing and perhaps fixing.
Stefan
- [Qemu-devel] [PATCH] Fix bug with virtio-9p fsync, Sassan Panahinejad, 2011/04/25
- Re: [Qemu-devel] [PATCH] Fix bug with virtio-9p fsync, Stefan Hajnoczi, 2011/04/26
- [Qemu-devel] [PATCH] Fix bug with virtio-9p fsync, Sassan Panahinejad, 2011/04/26
- Re: [Qemu-devel] [PATCH] Fix bug with virtio-9p fsync,
Stefan Hajnoczi <=
- Re: [Qemu-devel] [PATCH] Fix bug with virtio-9p fsync, Sassan Panahinejad, 2011/04/26
- Re: [Qemu-devel] [PATCH] Fix bug with virtio-9p fsync, Venkateswararao Jujjuri, 2011/04/26
- [Qemu-devel] [PATCH] Fix bug with virtio-9p fsync, Sassan Panahinejad, 2011/04/26
- Re: [Qemu-devel] [PATCH] Fix bug with virtio-9p fsync, Venkateswararao Jujjuri, 2011/04/26
- [Qemu-devel] [PATCH] Fix bug with virtio-9p fsync, Sassan Panahinejad, 2011/04/27