From 36ea397956c169aa79db9487de2ea65a938a13e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= Date: Tue, 28 Aug 2018 17:38:40 +0200 Subject: [PATCH] hostmem-memfd: honour share=on/off property MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The share=on/off property is used to modified mmap() MAP_SHARED setting. Make it on by default for convenience and compatibility reasons. Signed-off-by: Marc-André Lureau Signed-off-by: Paolo Bonzini --- backends/hostmem-memfd.c | 4 +++- qemu-options.hx | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/backends/hostmem-memfd.c b/backends/hostmem-memfd.c index b6836b28e5..1c3579e8ab 100644 --- a/backends/hostmem-memfd.c +++ b/backends/hostmem-memfd.c @@ -59,7 +59,8 @@ memfd_backend_memory_alloc(HostMemoryBackend *backend, Error **errp) name = object_get_canonical_path(OBJECT(backend)); memory_region_init_ram_from_fd(&backend->mr, OBJECT(backend), - name, backend->size, true, fd, errp); + name, backend->size, + backend->share, fd, errp); g_free(name); } @@ -131,6 +132,7 @@ memfd_backend_instance_init(Object *obj) /* default to sealed file */ m->seal = true; + MEMORY_BACKEND(m)->share = true; } static void diff --git a/qemu-options.hx b/qemu-options.hx index f7df472f43..269eda7a5d 100644 --- a/qemu-options.hx +++ b/qemu-options.hx @@ -4025,7 +4025,7 @@ Memory backend objects offer more control than the @option{-m} option that is traditionally used to define guest RAM. Please refer to @option{memory-backend-file} for a description of the options. -@item -object memory-backend-memfd,id=@var{id},merge=@var{on|off},dump=@var{on|off},prealloc=@var{on|off},size=@var{size},host-nodes=@var{host-nodes},policy=@var{default|preferred|bind|interleave},seal=@var{on|off},hugetlb=@var{on|off},hugetlbsize=@var{size} +@item -object memory-backend-memfd,id=@var{id},merge=@var{on|off},dump=@var{on|off},share=@var{on|off},prealloc=@var{on|off},size=@var{size},host-nodes=@var{host-nodes},policy=@var{default|preferred|bind|interleave},seal=@var{on|off},hugetlb=@var{on|off},hugetlbsize=@var{size} Creates an anonymous memory file backend object, which allows QEMU to share the memory with an external process (e.g. when using @@ -4047,6 +4047,8 @@ with the @option{seal} option (requires at least Linux 4.16). Please refer to @option{memory-backend-file} for a description of the other options. +The @option{share} boolean option is @var{on} by default with memfd. + @item -object rng-random,id=@var{id},filename=@var{/dev/random} Creates a random number generator backend which obtains entropy from