libvhost-user: fix VHOST_USER_REM_MEM_REG skipping mmap_addr
We end up not copying the mmap_addr of all existing regions, resulting
in a SEGFAULT once we actually try to map/access anything within our
memory regions.
Fixes: 875b9fd97b
("Support individual region unmap in libvhost-user")
Cc: qemu-stable@nongnu.org
Cc: Michael S. Tsirkin <mst@redhat.com>
Cc: Raphael Norwitz <raphael.norwitz@nutanix.com>
Cc: "Marc-André Lureau" <marcandre.lureau@redhat.com>
Cc: Stefan Hajnoczi <stefanha@redhat.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Coiby Xu <coiby.xu@gmail.com>
Signed-off-by: David Hildenbrand <david@redhat.com>
Message-Id: <20211011201047.62587-1-david@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Raphael Norwitz <raphael.norwitz@nutanix.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
This commit is contained in:
parent
19d20e910a
commit
6889eb2d43
@ -816,6 +816,7 @@ vu_rem_mem_reg(VuDev *dev, VhostUserMsg *vmsg) {
|
|||||||
shadow_regions[j].gpa = dev->regions[i].gpa;
|
shadow_regions[j].gpa = dev->regions[i].gpa;
|
||||||
shadow_regions[j].size = dev->regions[i].size;
|
shadow_regions[j].size = dev->regions[i].size;
|
||||||
shadow_regions[j].qva = dev->regions[i].qva;
|
shadow_regions[j].qva = dev->regions[i].qva;
|
||||||
|
shadow_regions[j].mmap_addr = dev->regions[i].mmap_addr;
|
||||||
shadow_regions[j].mmap_offset = dev->regions[i].mmap_offset;
|
shadow_regions[j].mmap_offset = dev->regions[i].mmap_offset;
|
||||||
j++;
|
j++;
|
||||||
} else {
|
} else {
|
||||||
|
Loading…
Reference in New Issue
Block a user