Re: [RFC PATCH V5 02/15] x86/hyperv: Decrypt hv vp assist page in sev-snp enlightened guest

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 5/1/23 03:57, Tianyu Lan wrote:
From: Tianyu Lan <tiala@xxxxxxxxxxxxx>

hv vp assist page is shared between sev snp guest and hyperv. Decrypt
the page when use it.

You aren't actually decrypting the page, you're changing the mapping from private/encrypted to shared/unencrypted (hence the memset that follows to clear the page to zeroes).

And please capitalize where necessary, e.g., SEV-SNP, Hyper-V, etc.

Thanks,
Tom


Signed-off-by: Tianyu Lan <tiala@xxxxxxxxxxxxx>
---
  arch/x86/hyperv/hv_init.c | 6 ++++++
  1 file changed, 6 insertions(+)

diff --git a/arch/x86/hyperv/hv_init.c b/arch/x86/hyperv/hv_init.c
index a5f9474f08e1..9f3e2d71d015 100644
--- a/arch/x86/hyperv/hv_init.c
+++ b/arch/x86/hyperv/hv_init.c
@@ -18,6 +18,7 @@
  #include <asm/hyperv-tlfs.h>
  #include <asm/mshyperv.h>
  #include <asm/idtentry.h>
+#include <asm/set_memory.h>
  #include <linux/kexec.h>
  #include <linux/version.h>
  #include <linux/vmalloc.h>
@@ -113,6 +114,11 @@ static int hv_cpu_init(unsigned int cpu)
}
  	if (!WARN_ON(!(*hvp))) {
+		if (hv_isolation_type_en_snp()) {
+			WARN_ON_ONCE(set_memory_decrypted((unsigned long)(*hvp), 1));
+			memset(*hvp, 0, PAGE_SIZE);
+		}
+
  		msr.enable = 1;
  		wrmsrl(HV_X64_MSR_VP_ASSIST_PAGE, msr.as_uint64);
  	}



[Index of Archives]     [Linux Kernel]     [Kernel Newbies]     [x86 Platform Driver]     [Netdev]     [Linux Wireless]     [Netfilter]     [Bugtraq]     [Linux Filesystems]     [Yosemite Discussion]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]

  Powered by Linux