]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
KVM: SVM: Replace hard-coded value 0x1FF with the corresponding macro
authorNaveen N Rao <naveen@kernel.org>
Thu, 4 Sep 2025 18:33:03 +0000 (00:03 +0530)
committerSean Christopherson <seanjc@google.com>
Fri, 17 Oct 2025 22:22:10 +0000 (15:22 -0700)
The lower 9-bit field in EXITINFO2 represents an index into the AVIC
Physical/Logical APIC ID table for a AVIC_INCOMPLETE_IPI #VMEXIT. Since
the index into the Logical APIC ID table is just 8 bits, this field is
actually bound by the bit-width of the index into the AVIC Physical ID
table which is represented by AVIC_PHYSICAL_MAX_INDEX_MASK. So, use that
macro to mask EXITINFO2.Index instead of hard coding 0x1FF in
avic_incomplete_ipi_interception().

Co-developed-by: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
Signed-off-by: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
Signed-off-by: Naveen N Rao (AMD) <naveen@kernel.org>
Link: https://lore.kernel.org/r/95795f449c68bffcb3e1789ee2b0b7393711d37d.1757009416.git.naveen@kernel.org
Signed-off-by: Sean Christopherson <seanjc@google.com>
arch/x86/kvm/svm/avic.c

index 96bad58ee3b4953eb909279507e9a9805bbec432..b31be39a118fc8ba496f4b4a3934747a49877d6c 100644 (file)
@@ -579,7 +579,7 @@ int avic_incomplete_ipi_interception(struct kvm_vcpu *vcpu)
        u32 icrh = svm->vmcb->control.exit_info_1 >> 32;
        u32 icrl = svm->vmcb->control.exit_info_1;
        u32 id = svm->vmcb->control.exit_info_2 >> 32;
-       u32 index = svm->vmcb->control.exit_info_2 & 0x1FF;
+       u32 index = svm->vmcb->control.exit_info_2 & AVIC_PHYSICAL_MAX_INDEX_MASK;
        struct kvm_lapic *apic = vcpu->arch.apic;
 
        trace_kvm_avic_incomplete_ipi(vcpu->vcpu_id, icrh, icrl, id, index);