x86/hyperv: Use slow_virt_to_phys() in page transition hypervisor callback
authorMichael Kelley <mhklinux@outlook.com>
Tue, 16 Jan 2024 02:20:06 +0000 (18:20 -0800)
committerWei Liu <wei.liu@kernel.org>
Fri, 1 Mar 2024 08:31:41 +0000 (08:31 +0000)
commit9fef276f9f416a1e85eb48d3bd38e6018a220bf5
treed48817edef85763486313b14c6ae7fbfd82410fc
parent04ed680e76b0d320612601cef46cb7092f860b31
x86/hyperv: Use slow_virt_to_phys() in page transition hypervisor callback

In preparation for temporarily marking pages not present during a
transition between encrypted and decrypted, use slow_virt_to_phys()
in the hypervisor callback. As long as the PFN is correct,
slow_virt_to_phys() works even if the leaf PTE is not present.
The existing functions that depend on vmalloc_to_page() all
require that the leaf PTE be marked present, so they don't work.

Update the comments for slow_virt_to_phys() to note this broader usage
and the requirement to work even if the PTE is not marked present.

Signed-off-by: Michael Kelley <mhklinux@outlook.com>
Acked-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Reviewed-by: Rick Edgecombe <rick.p.edgecombe@intel.com>
Link: https://lore.kernel.org/r/20240116022008.1023398-2-mhklinux@outlook.com
Signed-off-by: Wei Liu <wei.liu@kernel.org>
Message-ID: <20240116022008.1023398-2-mhklinux@outlook.com>
arch/x86/hyperv/ivm.c
arch/x86/mm/pat/set_memory.c