[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 1/3] ivshmem: Don't update non-existent MSI rout
From: |
Markus Armbruster |
Subject: |
Re: [Qemu-devel] [PATCH 1/3] ivshmem: Don't update non-existent MSI routes |
Date: |
Mon, 13 Nov 2017 15:22:40 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) |
Ladi Prosek <address@hidden> 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 <address@hidden>
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?