[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] vhost-user: fix mmap offset calculation
From: |
Nikolay Nikolaev |
Subject: |
Re: [Qemu-devel] [PATCH] vhost-user: fix mmap offset calculation |
Date: |
Sun, 2 Nov 2014 22:24:32 +0200 |
Hello,
I can confirm the issue, and this patch fixes it for me. Thanks.
regards,
Nikolay Nikolaev
Virtual Open Systems
On Sun, Nov 2, 2014 at 8:01 PM, Michael S. Tsirkin <address@hidden> wrote:
> qemu_get_ram_block_host_ptr should get ram_addr_t,
> vhost-user passes in GPA.
> That's very wrong.
>
> Signed-off-by: Michael S. Tsirkin <address@hidden>
> ---
> hw/virtio/vhost-user.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/hw/virtio/vhost-user.c b/hw/virtio/vhost-user.c
> index 4e88d9c..aefe0bb 100644
> --- a/hw/virtio/vhost-user.c
> +++ b/hw/virtio/vhost-user.c
> @@ -226,7 +226,7 @@ static int vhost_user_call(struct vhost_dev *dev,
> unsigned long int request,
> msg.memory.regions[fd_num].memory_size = reg->memory_size;
> msg.memory.regions[fd_num].guest_phys_addr =
> reg->guest_phys_addr;
> msg.memory.regions[fd_num].mmap_offset = reg->userspace_addr
> -
> - (uintptr_t)
> qemu_get_ram_block_host_ptr(reg->guest_phys_addr);
> + (uintptr_t) qemu_get_ram_block_host_ptr(ram_addr);
> assert(fd_num < VHOST_MEMORY_MAX_NREGIONS);
> fds[fd_num++] = fd;
> }
> --
> MST
>