Message ID | 20210319101230.21531-4-david@redhat.com |
---|---|
State | New |
Headers | show |
Series | RAM_NORESERVE, MAP_NORESERVE and hostmem "reserve" property | expand |
On Fri, Mar 19, 2021 at 11:12:19AM +0100, David Hildenbrand wrote: > RAM_SHARED now also properly indicates shared anonymous memory. Let's check > that flag for anonymous memory as well, to restore the proper mapping. > > Fixes: 06329ccecfa0 ("mem: add share parameter to memory-backend-ram") > Signed-off-by: David Hildenbrand <david@redhat.com> Reviewed-by: Peter Xu <peterx@redhat.com>
diff --git a/softmmu/physmem.c b/softmmu/physmem.c index afff96a6dc..cc59f05593 100644 --- a/softmmu/physmem.c +++ b/softmmu/physmem.c @@ -2222,13 +2222,13 @@ void qemu_ram_remap(ram_addr_t addr, ram_addr_t length) abort(); } else { flags = MAP_FIXED; + flags |= block->flags & RAM_SHARED ? + MAP_SHARED : MAP_PRIVATE; if (block->fd >= 0) { - flags |= (block->flags & RAM_SHARED ? - MAP_SHARED : MAP_PRIVATE); area = mmap(vaddr, length, PROT_READ | PROT_WRITE, flags, block->fd, offset); } else { - flags |= MAP_PRIVATE | MAP_ANONYMOUS; + flags |= MAP_ANONYMOUS; area = mmap(vaddr, length, PROT_READ | PROT_WRITE, flags, -1, 0); }
RAM_SHARED now also properly indicates shared anonymous memory. Let's check that flag for anonymous memory as well, to restore the proper mapping. Fixes: 06329ccecfa0 ("mem: add share parameter to memory-backend-ram") Signed-off-by: David Hildenbrand <david@redhat.com> --- softmmu/physmem.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)