qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] machine/memory encryption: Disable mem merge
@ 2020-01-30 17:50 Dr. David Alan Gilbert (git)
  2020-01-30 19:33 ` Philippe Mathieu-Daudé
  2020-03-09 20:47 ` Eduardo Habkost
  0 siblings, 2 replies; 3+ messages in thread
From: Dr. David Alan Gilbert (git) @ 2020-01-30 17:50 UTC (permalink / raw)
  To: qemu-devel, ehabkost, marcel.apfelbaum, brijesh.singh; +Cc: aarcange

From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>

When a host is running with memory encryption, the memory isn't visible
to the host kernel; attempts to merge that memory are futile because
what it's really comparing is encrypted memory, usually encrypted
with different keys.

Automatically turn mem-merge off when memory encryption is specified.

https://bugzilla.redhat.com/show_bug.cgi?id=1796356

Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
---
 hw/core/machine.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/hw/core/machine.c b/hw/core/machine.c
index 3e288bfceb..029e1f85b8 100644
--- a/hw/core/machine.c
+++ b/hw/core/machine.c
@@ -419,6 +419,14 @@ static void machine_set_memory_encryption(Object *obj, const char *value,
 
     g_free(ms->memory_encryption);
     ms->memory_encryption = g_strdup(value);
+
+    /*
+     * With memory encryption, the host can't see the real contents of RAM,
+     * so there's no point in it trying to merge areas.
+     */
+    if (value) {
+        machine_set_mem_merge(obj, false, errp);
+    }
 }
 
 static bool machine_get_nvdimm(Object *obj, Error **errp)
-- 
2.24.1



^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] machine/memory encryption: Disable mem merge
  2020-01-30 17:50 [PATCH] machine/memory encryption: Disable mem merge Dr. David Alan Gilbert (git)
@ 2020-01-30 19:33 ` Philippe Mathieu-Daudé
  2020-03-09 20:47 ` Eduardo Habkost
  1 sibling, 0 replies; 3+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-01-30 19:33 UTC (permalink / raw)
  To: Dr. David Alan Gilbert (git),
	qemu-devel, ehabkost, marcel.apfelbaum, brijesh.singh
  Cc: aarcange

On 1/30/20 6:50 PM, Dr. David Alan Gilbert (git) wrote:
> From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
> 
> When a host is running with memory encryption, the memory isn't visible
> to the host kernel; attempts to merge that memory are futile because
> what it's really comparing is encrypted memory, usually encrypted
> with different keys.
> 
> Automatically turn mem-merge off when memory encryption is specified.
> 
> https://bugzilla.redhat.com/show_bug.cgi?id=1796356
> 
> Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
> ---
>   hw/core/machine.c | 8 ++++++++
>   1 file changed, 8 insertions(+)
> 
> diff --git a/hw/core/machine.c b/hw/core/machine.c
> index 3e288bfceb..029e1f85b8 100644
> --- a/hw/core/machine.c
> +++ b/hw/core/machine.c
> @@ -419,6 +419,14 @@ static void machine_set_memory_encryption(Object *obj, const char *value,
>   
>       g_free(ms->memory_encryption);
>       ms->memory_encryption = g_strdup(value);
> +
> +    /*
> +     * With memory encryption, the host can't see the real contents of RAM,
> +     * so there's no point in it trying to merge areas.
> +     */
> +    if (value) {
> +        machine_set_mem_merge(obj, false, errp);

Using the helper is cleaner than accessing ms->mem_merge.
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>

> +    }
>   }
>   
>   static bool machine_get_nvdimm(Object *obj, Error **errp)
> 



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] machine/memory encryption: Disable mem merge
  2020-01-30 17:50 [PATCH] machine/memory encryption: Disable mem merge Dr. David Alan Gilbert (git)
  2020-01-30 19:33 ` Philippe Mathieu-Daudé
@ 2020-03-09 20:47 ` Eduardo Habkost
  1 sibling, 0 replies; 3+ messages in thread
From: Eduardo Habkost @ 2020-03-09 20:47 UTC (permalink / raw)
  To: Dr. David Alan Gilbert (git); +Cc: aarcange, brijesh.singh, qemu-devel

On Thu, Jan 30, 2020 at 05:50:46PM +0000, Dr. David Alan Gilbert (git) wrote:
> From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
> 
> When a host is running with memory encryption, the memory isn't visible
> to the host kernel; attempts to merge that memory are futile because
> what it's really comparing is encrypted memory, usually encrypted
> with different keys.
> 
> Automatically turn mem-merge off when memory encryption is specified.
> 
> https://bugzilla.redhat.com/show_bug.cgi?id=1796356
> 
> Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>

Queued, thanks.

-- 
Eduardo



^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-03-09 20:48 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-30 17:50 [PATCH] machine/memory encryption: Disable mem merge Dr. David Alan Gilbert (git)
2020-01-30 19:33 ` Philippe Mathieu-Daudé
2020-03-09 20:47 ` Eduardo Habkost

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).