Re: [PATCH v7 04/12] x86/cpufeatures: Add TDX Guest CPU feature

From: Kuppuswamy, Sathyanarayanan
Date: Thu Sep 23 2021 - 10:10:16 EST




On 9/23/21 3:02 AM, Borislav Petkov wrote:
On Thu, Sep 16, 2021 at 11:35:42AM -0700, Kuppuswamy Sathyanarayanan wrote:
@@ -495,6 +496,8 @@ asmlinkage __visible void __init x86_64_start_kernel(char * real_mode_data)
copy_bootdata(__va(real_mode_data));
+ tdx_early_init();
+

| Changes since v4:
| * Moved tdx_early_init() below copy_bootdata() because of
| cmdline and IDT dependencies.


What "cmdline and IDT dependencies"?

Without a comment explaining why that thing must be there in the boot
order, you're adding more to the already fragile house of cards.

Explain please.

Initially, tdx_early_init() was added between kasan_early_init() and
idt_setup_early_handler() in x86_64_start_kernel(). But I found that
we have requirement to parse command line params in future
changes to tdx_early_init() (not from the patches in this series). Since
command line pointer is getting initialized in copy_bootdata(), I want
move the tdx_early_init() call below it. Instead of moving the initialization
order in future, I thought to move it appropriate place in the initial
patch. Regarding IDT dependency, #VE handling will have a dependency on
it (so it is better to initialize it before tdx_early_init()).



--
Sathyanarayanan Kuppuswamy
Linux Kernel Developer