]> www.infradead.org Git - users/jedix/linux-maple.git/commit
x86/sev: Make sure pages are not skipped during kdump
authorAshish Kalra <ashish.kalra@amd.com>
Tue, 6 May 2025 18:35:29 +0000 (18:35 +0000)
committerBorislav Petkov (AMD) <bp@alien8.de>
Tue, 13 May 2025 17:47:48 +0000 (19:47 +0200)
commit82b7f88f2316c5442708daeb0b5ec5aa54c8ff7f
tree4903cb195180bc2575138de34379895c662310db
parentd2062cc1b1c367d5d019f595ef860159e1301351
x86/sev: Make sure pages are not skipped during kdump

When shared pages are being converted to private during kdump, additional
checks are performed. They include handling the case of a GHCB page being
contained within a huge page.

Currently, this check incorrectly skips a page just below the GHCB page from
being transitioned back to private during kdump preparation.

This skipped page causes a 0x404 #VC exception when it is accessed later while
dumping guest memory for vmcore generation.

Correct the range to be checked for GHCB contained in a huge page.  Also,
ensure that the skipped huge page containing the GHCB page is transitioned
back to private by applying the correct address mask later when changing GHCBs
to private at end of kdump preparation.

  [ bp: Massage commit message. ]

Fixes: 3074152e56c9 ("x86/sev: Convert shared memory back to private on kexec")
Signed-off-by: Ashish Kalra <ashish.kalra@amd.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Reviewed-by: Tom Lendacky <thomas.lendacky@amd.com>
Tested-by: Srikanth Aithal <sraithal@amd.com>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/20250506183529.289549-1-Ashish.Kalra@amd.com
arch/x86/coco/sev/core.c