Re: [PATCH] x86/boot: Drop erroneous __init annotation from early_set_pages_state()
From: Ard Biesheuvel
Date: Wed Sep 24 2025 - 11:54:43 EST
On Wed, 24 Sept 2025 at 17:53, Ard Biesheuvel <ardb+git@xxxxxxxxxx> wrote:
>
> 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>
Reported-by: Srikanth Aithal <Srikanth.Aithal@xxxxxxx>
Tested-by: Srikanth Aithal <Srikanth.Aithal@xxxxxxx>
> ---
> 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
>