On Mon, Oct 11, 2021 at 10:10:47PM +0200, David Hildenbrand wrote:
> 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: 875b9fd97b34 ("Support individual region unmap in libvhost-user")
> Cc: [email protected]
> Cc: Michael S. Tsirkin <[email protected]>
> Cc: Raphael Norwitz <[email protected]>
> Cc: "Marc-André Lureau" <[email protected]>
> Cc: Stefan Hajnoczi <[email protected]>
> Cc: Paolo Bonzini <[email protected]>
> Cc: Coiby Xu <[email protected]>
> Signed-off-by: David Hildenbrand <[email protected]>
Reviewed-by: Raphael Norwitz <[email protected]>
> ---
> subprojects/libvhost-user/libvhost-user.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/subprojects/libvhost-user/libvhost-user.c
> b/subprojects/libvhost-user/libvhost-user.c
> index bf09693255..787f4d2d4f 100644
> --- a/subprojects/libvhost-user/libvhost-user.c
> +++ b/subprojects/libvhost-user/libvhost-user.c
> @@ -816,6 +816,7 @@ vu_rem_mem_reg(VuDev *dev, VhostUserMsg *vmsg) {
> shadow_regions[j].gpa = dev->regions[i].gpa;
> shadow_regions[j].size = dev->regions[i].size;
> 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;
> j++;
> } else {
> --
> 2.31.1
>