Re: [PATCH] KVM: ioapic: fix NULL deref ioapic->lock

From: Paolo Bonzini
Date: Tue Jan 03 2017 - 12:26:18 EST




On 03/01/2017 13:06, David Hildenbrand wrote:
>>
>> switch (cap->cap) {
>> case KVM_CAP_HYPERV_SYNIC:
>> - return kvm_hv_activate_synic(vcpu);
>> + if (!irqchip_in_kernel(vcpu->kvm))
>> + return -EINVAL;
>> + else
>
> You can simply drop the else and return directly.
>
> Can't really say if this is the right fix, my first thought was that
> a request has been set although it should never have been set for
> that VCPU. Maybe that is an effect of synic being activated
> (because synic code unconditionally later on sets the request).
>
> Fixing the cause of the request seems better than fixing up the result.

Yes, I agree. Wanpeng's second patch is fine.

Paolo