On s390, we only allow userspace to create an in-kernel irqchip if it has first enabled the KVM_CAP_S390_IRQCHIP vm capability. Let's assume that a userspace that enabled that capability has created an irqchip as well. Fixes: 84223598778b ("KVM: s390: irq routing for adapter interrupts.") Signed-off-by: Cornelia Huck <cohuck@xxxxxxxxxx> --- A more precise check would be to add a field in kvm_arch that tracks whether an irqchip has actually been created; not sure if that is really needed. Found while trying to hunt down QEMU crashes with kvm-irqchip=off; this is not sufficient, though. I *think* everything but irqfds should work without kvm-irqchip as well, but have not found the problem yet. --- arch/s390/kvm/irq.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/s390/kvm/irq.h b/arch/s390/kvm/irq.h index 484608c71dd0..30e13d031379 100644 --- a/arch/s390/kvm/irq.h +++ b/arch/s390/kvm/irq.h @@ -13,7 +13,7 @@ static inline int irqchip_in_kernel(struct kvm *kvm) { - return 1; + return !!kvm->arch.use_irqchip; } #endif -- 2.21.1