Hi Dexuan:@@ -134,6 +136,16 @@ int hv_common_cpu_init(unsigned int cpu)Is it possible hv_root_partition==1 here? If yes, the pgcount is 2.
if (!(*inputarg))
return -ENOMEM;
+ if (hv_isolation_type_en_snp()) {
+ ret = set_memory_decrypted((unsigned long)*inputarg, 1);
+ if (ret) {If set_memory_encrypted() fails, we should not free the 'mem'.
+ kfree(*inputarg);
+ return ret;
+ }
+
+ memset(*inputarg, 0x00, PAGE_SIZE);
+ }
+
if (hv_root_partition) {
outputarg = (void **)this_cpu_ptr(hyperv_pcpu_output_arg);
*outputarg = (char *)(*inputarg) + HV_HYP_PAGE_SIZE;
@@ -168,6 +180,9 @@ int hv_common_cpu_die(unsigned int cpu)
local_irq_restore(flags);
+ if (hv_isolation_type_en_snp())
+ set_memory_encrypted((unsigned long)mem, 1);