On 5/6/2025 6:37 PM, Tianyu Lan wrote:
> From: Tianyu Lan <ti...@microsoft.com>
> 
> When Secure AVIC is not enabled, init_apic_page()
> should return directly.
> 
> Signed-off-by: Tianyu Lan <ti...@microsoft.com>
> ---
>  arch/x86/kernel/apic/x2apic_savic.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/arch/x86/kernel/apic/x2apic_savic.c 
> b/arch/x86/kernel/apic/x2apic_savic.c
> index 0dd7e39931b0..fb09c0f9e276 100644
> --- a/arch/x86/kernel/apic/x2apic_savic.c
> +++ b/arch/x86/kernel/apic/x2apic_savic.c
> @@ -333,6 +333,9 @@ static void init_apic_page(void)
>  {
>       u32 apic_id;
>  
> +     if (!cc_platform_has(CC_ATTR_SNP_SECURE_AVIC))
> +             return;
> +
>       /*

Why is this change needed? init_apic_page() is only called from Secure AVIC 
driver's
setup() callback. savic_probe() already does this check. So, if this check 
fails during
savic_probe(), Secure AVIC apic driver won't be selected as apic driver and 
it's setup
callback will never get invoked.


- Neeraj



>        * Before Secure AVIC is enabled, APIC msr reads are intercepted.
>        * APIC_ID msr read returns the value from the Hypervisor.


Reply via email to