Re: [PATCH v2] x86/efi: Safely enable unaccepted memory in UEFI

From: Tom Lendacky
Date: Mon Jan 16 2023 - 17:46:58 EST


On 1/16/23 15:22, Dave Hansen wrote:
On 1/16/23 02:56, Gerd Hoffmann wrote:
And we add this protocol to address very temporary problem: once
unaccepted memory support get upstream it is just a dead weight.
Maybe, maybe not. unaccepted memory support has a Kconfig switch after
all. If we figure in 3-5 years that all distros have enabled it anyway
we can drop it again. For the transition period it will surely be
useful.

I agree with Kirill here.

Having unaccepted memory *AND* this firmware-driven feature really is
just implementing the same thing twice.

I'm not sure I follow you. This feature merely tells the firmware whether or not the OS supports unaccepted memory, which then tells the firmware whether it needs to accept the memory or whether the kernel can.

We have had SNP guest support since 5.19 without support for unaccepted memory. Imagine now using a newer OVMF that can support unaccepted memory. How does the firmware know whether it must accept all the memory or whether it can advertise unaccepted memory. By having the kernel call this boot service protocol once support for unaccepted memory is in place, the firmware now knows that it need not accept all the memory.

Thanks,
Tom


I'd much rather have the Kconfig option forced on for all guests that
*might* need unaccepted memory support than carry redundant implementations.

Also, _if_ we allow folks to turn the Kconfig off and get access to all
their memory, they might get used to that. Removing this firmware
interface from the kernel in a few years could be viewed as a
regression. Then, we'll be stuck with this forever.

In any case, the firmware side of things didn't seem like _that_ much
code. So, I'm not protesting *that* strongly. But, I also don't
believe for a second that this is going to be removed in 3-5 years.