Re: [PATCH 3/4] x86/kexec(): Reset TDX private memory on platforms with TDX erratum

From: Huang, Kai
Date: Mon Feb 05 2024 - 01:45:23 EST




On 2/02/2024 8:54 am, Edgecombe, Rick P wrote:
On Wed, 2024-01-31 at 11:31 +0000, Huang, Kai wrote:
Note kexec() can happen at anytime, including when TDX module is
being
initialized.  Register TDX reboot notifier callback to stop further
TDX
module initialization.  If there's any ongoing module initialization,
wait until it finishes.  This makes sure the TDX module status is
stable
after the reboot notifier callback, and the later kexec() code can
read
module status to decide whether PAMTs are stable and available.

I don't see how this works with the crash kernel flavor of kexec. Did
you look at that scenario?


Hmm right this doesn't work for crash kexec. Thanks for pointing out.

We need a way that doesn't depend on the reboot notifier. Previously we used a variable to indicate the point where it's possible to have any TDX private pages. I'll switch back to use that.