]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commit
x86/mm: Fix __swp_entry_to_pte() for Xen PV guests
authorJuergen Gross <jgross@suse.com>
Mon, 6 Mar 2023 12:32:59 +0000 (13:32 +0100)
committerBorislav Petkov (AMD) <bp@alien8.de>
Mon, 8 May 2023 13:25:24 +0000 (15:25 +0200)
commit0f88130e8a6fd185b0aeb5d8e286083735f2585a
treec9f540f81f51ce0ae2f6c8506bb8c10e02e82eb1
parentac9a78681b921877518763ba0e89202254349d1b
x86/mm: Fix __swp_entry_to_pte() for Xen PV guests

Normally __swp_entry_to_pte() is never called with a value translating
to a valid PTE. The only known exception is pte_swap_tests(), resulting
in a WARN splat in Xen PV guests, as __pte_to_swp_entry() did
translate the PFN of the valid PTE to a guest local PFN, while
__swp_entry_to_pte() doesn't do the opposite translation.

Fix that by using __pte() in __swp_entry_to_pte() instead of open
coding the native variant of it.

For correctness do the similar conversion for __swp_entry_to_pmd().

Fixes: 05289402d717 ("mm/debug_vm_pgtable: add tests validating arch helpers for core MM features")
Signed-off-by: Juergen Gross <jgross@suse.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Link: https://lore.kernel.org/r/20230306123259.12461-1-jgross@suse.com
arch/x86/include/asm/pgtable_64.h