Skip to content

Commit 4cbb69b

Browse files
ssuthiku-amdgregkh
authored andcommitted
KVM: x86: Fixes posted interrupt check for IRQs delivery modes
commit 637543a upstream. Current logic incorrectly uses the enum ioapic_irq_destination_types to check the posted interrupt destination types. However, the value was set using APIC_DM_XXX macros, which are left-shifted by 8 bits. Fixes by using the APIC_DM_FIXED and APIC_DM_LOWEST instead. Fixes: (fdcf756 'KVM: x86: Disable posted interrupts for non-standard IRQs delivery modes') Cc: Alexander Graf <graf@amazon.com> Signed-off-by: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com> Message-Id: <1586239989-58305-1-git-send-email-suravee.suthikulpanit@amd.com> Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com> Tested-by: Maxim Levitsky <mlevitsk@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
1 parent db00b1d commit 4cbb69b

1 file changed

Lines changed: 2 additions & 2 deletions

File tree

arch/x86/include/asm/kvm_host.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1608,8 +1608,8 @@ void kvm_set_msi_irq(struct kvm *kvm, struct kvm_kernel_irq_routing_entry *e,
16081608
static inline bool kvm_irq_is_postable(struct kvm_lapic_irq *irq)
16091609
{
16101610
/* We can only post Fixed and LowPrio IRQs */
1611-
return (irq->delivery_mode == dest_Fixed ||
1612-
irq->delivery_mode == dest_LowestPrio);
1611+
return (irq->delivery_mode == APIC_DM_FIXED ||
1612+
irq->delivery_mode == APIC_DM_LOWEST);
16131613
}
16141614

16151615
static inline void kvm_arch_vcpu_blocking(struct kvm_vcpu *vcpu)

0 commit comments

Comments
 (0)