Re: [PATCH 2/3] kvm: don't register wildcard MMIO EVENTFD on two buses

From: Jason Wang
Date: Tue Aug 25 2015 - 03:36:36 EST




On 08/25/2015 11:04 AM, Jason Wang wrote:
[...]
>>>>> @@ -900,10 +899,11 @@ kvm_deassign_ioeventfd(struct kvm *kvm, struct kvm_ioeventfd *args)
>>>>> >>>> if (!p->wildcard && p->datamatch != args->datamatch)
>>>>> >>>> continue;
>>>>> >>>>
>>>>> >>>> - kvm_io_bus_unregister_dev(kvm, bus_idx, &p->dev);
>>>>> >>>> if (!p->length) {
>>>>> >>>> kvm_io_bus_unregister_dev(kvm, KVM_FAST_MMIO_BUS,
>>>>> >>>> &p->dev);
>>>>> >>>> + } else {
>>>>> >>>> + kvm_io_bus_unregister_dev(kvm, bus_idx, &p->dev);
>>>>> >>>> }
>>>> >>> Similar comments here... do you want to check for bus_idx ==
>>>> >>> KVM_MMIO_BUS as well?
>>> >> Good catch. I think keep the original code as is will be also ok to
>>> >> solve this. (with changing the bus_idx to KVM_FAST_MMIO_BUS during
>>> >> registering if it was an wildcard mmio).
>> > Do you need to handle the ioeventfd_count changes on the fast mmio bus
>> > as well?
> Yes. So actually, it needs some changes: checking the return value of
> kvm_io_bus_unregister_dev() and decide which bus does the device belongs to.
>

Looks like it will be more cleaner by just changing
ioeventfd_bus_from_flags() to return KVM_FAST_MMIO_BUS accordingly. Will
post V2 soon.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/