Re: [PATCH 0/3] Resolve problems with kexec identity mapping
From: Steve Wahl
Date: Mon Jun 17 2024 - 11:42:53 EST
On Sun, Jun 16, 2024 at 10:25:33PM +0200, Borislav Petkov wrote:
> On Thu, Jun 13, 2024 at 11:16:36AM -0500, Steve Wahl wrote:
> > The Atom was the prominent example of a platform that the code
> > introduced for SEV broke. Unfortunately, the fix currently
> > implemented leaves things still broken for actual AMD SEV capable
> > processors when nogbpages is used,
>
> Ok, how do I reproduce this?
>
> Please give exact step-by-step directions.
The first, hardest step is locate a system that is AMD based, SEV
capable, with a BIOS that chooses to locate the CC_BLOB at addresses
that do not share a 2M page with other chunks of memory the kernel
currently adds to the kexec identity map. I.e. This is a stroke of
luck, and for all I know could depend on configuration such as memory
size in addition to motherboard and BIOS version. However, it does
not seem to change from boot to boot; as system that has the problem
seems to be consistent about it.
Second, boot linux including the "nogbpages" command line option.
Third, kexec -l <kernel image> --append=<command line options>
--initrd=<initrd>.
Fourth, kexec -e.
Systems that have this problem successfully kexec without the
"nogbpages" parameter, but fail and do a full reboot with the
"nogbpages" parameter.
I wish I could be more exact, filling in <kernel image> and <command
line options> and <initrd> for you, but they must be tailored to the
needs of the particular system.
I do not have direct access to a system with this problem myself. I
have relied on others who reported the problem to reproduce it and
test my fix.
Thanks,
--> Steve Wahl
--
Steve Wahl, Hewlett Packard Enterprise