Re: [RFC PATCH 01/13] KVM: SVM: Add warning when encounter invalid APIC ID

From: Maxim Levitsky
Date: Thu Feb 24 2022 - 11:30:54 EST


On Sun, 2022-02-20 at 20:19 -0600, Suravee Suthikulpanit wrote:
> Current logic checks if avic_get_physical_id_entry() fails to
> get the entry, and return error. This could silently cause
> AVIC to fail to operate. Therefore, add WARN_ON to help
> report this error.
>
> Signed-off-by: Suravee Suthikulpanit <suravee.suthikulpanit@xxxxxxx>
> ---
> arch/x86/kvm/svm/avic.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/arch/x86/kvm/svm/avic.c b/arch/x86/kvm/svm/avic.c
> index f07956f15d3b..472445aaaf42 100644
> --- a/arch/x86/kvm/svm/avic.c
> +++ b/arch/x86/kvm/svm/avic.c
> @@ -447,8 +447,10 @@ static int avic_handle_apic_id_update(struct kvm_vcpu *vcpu)
>
> old = avic_get_physical_id_entry(vcpu, vcpu->vcpu_id);
> new = avic_get_physical_id_entry(vcpu, id);
> - if (!new || !old)
> + if (!new || !old) {
> + WARN_ON(1);
> return 1;
> + }
>
> /* We need to move physical_id_entry to new offset */
> *new = *old;

I about to purge all of this code, and disallow setting the apicid regardles
if x2apic, or plain xapic was used at least when AVIC is enabled.
I really hope for this to be accepted, so we won't need to fix this code.

Best regards,
Maxim Levitsky