Ladi Prosek <lpro...@redhat.com> writes: > As of commit 660c97eef6f8 ("ivshmem: use kvm irqfd for msi notifications"), > QEMU crashes with: > > kvm_irqchip_commit_routes: Assertion `ret == 0' failed. > > if the ivshmem device is configured with more vectors than what the server > supports. This is caused by the ivshmem_vector_unmask() being called on > vectors that have not been initialized by ivshmem_add_kvm_msi_virq(). > > This commit fixes it by adding a simple check to the mask and unmask > callbacks. > > Note that the opposite mismatch, if the server supplies more vectors than > what the device is configured for, is already handled and leads to output > like: > > Too many eventfd received, device has 1 vectors > > Fixes: 660c97eef6f8 ("ivshmem: use kvm irqfd for msi notifications") > Signed-off-by: Ladi Prosek <lpro...@redhat.com>
I think I understand your description of what's wrong. Not obvious to me is how it can happen. The cover letter mentions a Windows ivshmem driver. Is this a device bug a driver can trigger? If yes, how?