Re: [PATCH] KVM: x86: check for pic and ioapic presence before use

2016-12-22 Thread Wanpeng Li
2016-12-21 20:44 GMT+08:00 Radim Krčmář : > 2016-12-20 19:59+0800, Wanpeng Li: >> 2016-11-24 20:42 GMT+08:00 Radim Krčmář : >>> 2016-11-23 22:58+0100, Paolo Bonzini: On 23/11/2016 21:25, Radim Krčmář wrote: > diff --git a/arch/x86/kvm/irq_comm.c b/arch/x86/kvm/irq_comm.c > index 25810b

Re: [PATCH] KVM: x86: check for pic and ioapic presence before use

2016-12-21 Thread Radim Krčmář
2016-12-20 19:59+0800, Wanpeng Li: > 2016-11-24 20:42 GMT+08:00 Radim Krčmář : >> 2016-11-23 22:58+0100, Paolo Bonzini: >>> On 23/11/2016 21:25, Radim Krčmář wrote: diff --git a/arch/x86/kvm/irq_comm.c b/arch/x86/kvm/irq_comm.c index 25810b144b58..ddd63b8b176e 100644 --- a/arch/x86/k

Re: [PATCH] KVM: x86: check for pic and ioapic presence before use

2016-12-20 Thread Wanpeng Li
2016-11-24 20:42 GMT+08:00 Radim Krčmář : > 2016-11-23 22:58+0100, Paolo Bonzini: >> On 23/11/2016 21:25, Radim Krčmář wrote: >>> diff --git a/arch/x86/kvm/irq_comm.c b/arch/x86/kvm/irq_comm.c >>> index 25810b144b58..ddd63b8b176e 100644 >>> --- a/arch/x86/kvm/irq_comm.c >>> +++ b/arch/x86/kvm/irq_c

Re: [PATCH] KVM: x86: check for pic and ioapic presence before use

2016-11-24 Thread Paolo Bonzini
> Oops, I wrote the race with wrong IOCTL -- it should be KVM_IRQ_LINE. > > 1) set KVM_CAP_SPLIT_IRQCHIP (unlocks KVM_IRQ_LINE) > a) call KVM_CREATE_IRQCHIP (creates routes while !kvm->arch.vpic) > b) concurrently call KVM_IRQ_LINE for PIO routes (dereferences NULL) > > The problem is that we

Re: [PATCH] KVM: x86: check for pic and ioapic presence before use

2016-11-24 Thread Radim Krčmář
2016-11-23 22:58+0100, Paolo Bonzini: > On 23/11/2016 21:25, Radim Krčmář wrote: >> diff --git a/arch/x86/kvm/irq_comm.c b/arch/x86/kvm/irq_comm.c >> index 25810b144b58..ddd63b8b176e 100644 >> --- a/arch/x86/kvm/irq_comm.c >> +++ b/arch/x86/kvm/irq_comm.c >> @@ -41,6 +41,15 @@ static int kvm_set_pi

Re: [PATCH] KVM: x86: check for pic and ioapic presence before use

2016-11-23 Thread Paolo Bonzini
On 23/11/2016 21:25, Radim Krčmář wrote: > diff --git a/arch/x86/kvm/irq_comm.c b/arch/x86/kvm/irq_comm.c > index 25810b144b58..ddd63b8b176e 100644 > --- a/arch/x86/kvm/irq_comm.c > +++ b/arch/x86/kvm/irq_comm.c > @@ -41,6 +41,15 @@ static int kvm_set_pic_irq(struct > kvm_kernel_irq_routing_entr