[PATCH] x86/boot: Drop erroneous __init annotation from early_set_pages_state()

From: Ard Biesheuvel
Date: Wed Sep 24 2025 - 11:53:32 EST


From: Ard Biesheuvel <ardb@xxxxxxxxxx>

The kexec code will call set_pages_state() after tearing down all the
GHCBs, which will therefore result in a call to early_set_pages_state().

This means the __init annotation is wrong, and must be dropped.

Fixes: faed658ce71d ("x86/boot: Move startup code out of __head section")
Signed-off-by: Ard Biesheuvel <ardb@xxxxxxxxxx>
---
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: "Aithal, Srikanth" <sraithal@xxxxxxx>
Cc: Sean Christopherson <seanjc@xxxxxxxxxx>
Cc: Ashish Kalra <Ashish.Kalra@xxxxxxx>
Cc: Tom Lendacky <thomas.lendacky@xxxxxxx>

arch/x86/boot/startup/sev-startup.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/x86/boot/startup/sev-startup.c b/arch/x86/boot/startup/sev-startup.c
index 39465a0ff4e5..c4c389f7cd06 100644
--- a/arch/x86/boot/startup/sev-startup.c
+++ b/arch/x86/boot/startup/sev-startup.c
@@ -44,7 +44,7 @@
/* Include code shared with pre-decompression boot stage */
#include "sev-shared.c"

-void __init
+void
early_set_pages_state(unsigned long vaddr, unsigned long paddr,
unsigned long npages, const struct psc_desc *desc)
{
--
2.51.0.534.gc79095c0ca-goog