kvm: fix zero length mmio searching
authorJason Wang <jasowang@redhat.com>
Tue, 15 Sep 2015 06:41:57 +0000 (14:41 +0800)
committerPaolo Bonzini <pbonzini@redhat.com>
Tue, 15 Sep 2015 14:59:46 +0000 (16:59 +0200)
commit8f4216c7d28976f7ec1b2bcbfa0a9f787133c45e
tree1e530734d606cc871c6a01a2b41567dae350104c
parenteefd6b06b17c5478e7c24bea6f64beaa2c431ca6
kvm: fix zero length mmio searching

Currently, if we had a zero length mmio eventfd assigned on
KVM_MMIO_BUS. It will never be found by kvm_io_bus_cmp() since it
always compares the kvm_io_range() with the length that guest
wrote. This will cause e.g for vhost, kick will be trapped by qemu
userspace instead of vhost. Fixing this by using zero length if an
iodevice is zero length.

Cc: stable@vger.kernel.org
Cc: Gleb Natapov <gleb@kernel.org>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
Reviewed-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
virt/kvm/kvm_main.c