[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 0/1] virtio-pci: Fix the crash when the vector changes back from
|
From: |
Cindy Lu |
|
Subject: |
[PATCH 0/1] virtio-pci: Fix the crash when the vector changes back from VIRTIO_NO_VECTOR |
|
Date: |
Tue, 2 Apr 2024 23:00:09 +0800 |
There is a crash in the Non-standard guest image. The root cause of
the issue is that an IRQFD was used After it release
During the booting process of the Vyatta image, the behavior of the
called function in qemu is as follows:
1. vhost_net_stop() was called. This will call the function
virtio_pci_set_guest_notifiers() with assgin= false, and
virtio_pci_set_guest_notifiers(??? will release the irqfd for vector 0
2. virtio_reset() was called -->set configure vector to VIRTIO_NO_VECTOR
3.vhost_net_start() was called (at this time the configure vector is
still VIRTIO_NO_VECTOR) and call virtio_pci_set_guest_notifiers() with
assgin= true, so the irqfd for vector 0 was not "init" during this process
4. The system continues to boot, and msix_fire_vector_notifier() was
called unmask the vector 0 and then met the crash
[msix_fire_vector_notifier] 112 called vector 0 is_masked 1
[msix_fire_vector_notifier] 112 called vector 0 is_masked 0
To fix this, we need to call the function "kvm_virtio_pci_vector_use_one()"
when the vector changes back from VIRTIO_NO_VECTOR
Signed-off-by: Cindy Lu <lulu@redhat.com>
Cindy Lu (1):
virtio-pci: Fix the crash when the vector changes back from
VIRTIO_NO_VECTOR
hw/virtio/virtio-pci.c | 31 ++++++++++++++++++++++++++++---
1 file changed, 28 insertions(+), 3 deletions(-)
--
2.43.0
- [PATCH 0/1] virtio-pci: Fix the crash when the vector changes back from VIRTIO_NO_VECTOR,
Cindy Lu <=