hc
2024-02-20 102a0743326a03cd1a1202ceda21e175b7d3575c
kernel/arch/x86/kvm/lapic.c
....@@ -2115,10 +2115,14 @@
21152115 break;
21162116
21172117 case APIC_SELF_IPI:
2118
- if (apic_x2apic_mode(apic))
2119
- kvm_apic_send_ipi(apic, APIC_DEST_SELF | (val & APIC_VECTOR_MASK), 0);
2120
- else
2118
+ /*
2119
+ * Self-IPI exists only when x2APIC is enabled. Bits 7:0 hold
2120
+ * the vector, everything else is reserved.
2121
+ */
2122
+ if (!apic_x2apic_mode(apic) || (val & ~APIC_VECTOR_MASK))
21212123 ret = 1;
2124
+ else
2125
+ kvm_apic_send_ipi(apic, APIC_DEST_SELF | val, 0);
21222126 break;
21232127 default:
21242128 ret = 1;