On 09.01.20 14:47, Cornelia Huck wrote: > 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. I think this is semantically wrong. We always have in-kernel irq handling. It is actually not possible to not use it. So I understand where you are coming from but this feels kind of wrong. > > 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 >