virtio-pci: fix irqfd cleanup argument order
PATCH 1/1 virtio-pci: fix irqfd cleanup argument order
Order of arguments of kvm_virtio_pci_irqfd_release got mixed up in all calls.
As a result users see assertions during cleanup.
---
hw/virtio-pci.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
hw/virtio-pci.c +3 -3
@@ -576,7 +576,7 @@ undo:continue ; }if (proxy->vdev->guest_notifier_mask) { -kvm_virtio_pci_irqfd_release (proxy, vector, queue_no); +kvm_virtio_pci_irqfd_release (proxy, queue_no, vector); }kvm_virtio_pci_vq_vector_release (proxy, vector); }
@@ -602,7 +602,7 @@ static void kvm_virtio_pci_vector_release(VirtIOPCIProxy *proxy, int nvqs)* Otherwise, it was cleaned when masked in the frontend. */ if (proxy->vdev->guest_notifier_mask) { -kvm_virtio_pci_irqfd_release (proxy, vector, queue_no); +kvm_virtio_pci_irqfd_release (proxy, queue_no, vector); }kvm_virtio_pci_vq_vector_release (proxy, vector); }
@@ -651,7 +651,7 @@ static void kvm_virtio_pci_vq_vector_mask(VirtIOPCIProxy *proxy,if (proxy->vdev->guest_notifier_mask) { proxy->vdev->guest_notifier_mask (proxy->vdev, queue_no, true); }else { -kvm_virtio_pci_irqfd_release (proxy, vector, queue_no); +kvm_virtio_pci_irqfd_release (proxy, queue_no, vector); } }
Signature · 1 line
MST
Quoted 34 lines · Michael S. Tsirkin
Order of arguments of
kvm_virtio_pci_irqfd_releasegot mixed up in all calls.
As a result users see assertions during cleanup.Reported-by Laszlo Ersek <[email protected]>Signed-off-by Michael S. Tsirkin <[email protected]>---
hw/virtio-pci.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)hw/virtio-pci.c +2
-2@@ -576,7 +576,7 @@ undo:continue ; }if (proxy->vdev->guest_notifier_mask) { -kvm_virtio_pci_irqfd_release (proxy, vector, queue_no); +kvm_virtio_pci_irqfd_release (proxy, queue_no, vector); }kvm_virtio_pci_vq_vector_release (proxy, vector); }@@ -602,7 +602,7 @@ static void kvm_virtio_pci_vector_release(VirtIOPCIProxy *proxy, int nvqs)* Otherwise, it was cleaned when masked in the frontend. */ if (proxy->vdev->guest_notifier_mask) { -kvm_virtio_pci_irqfd_release (proxy, vector, queue_no); +kvm_virtio_pci_irqfd_release (proxy, queue_no, vector); }kvm_virtio_pci_vq_vector_release (proxy, vector); }
hw/virtio-pci.c static void kvm_virtio_pci_vq_vector_mask(VirtIOPCIProxy *proxy, · line 657
Quoted 8 lines
hw/virtio-pci.c +1
-1@@ -651,7 +651,7 @@ static void kvm_virtio_pci_vq_vector_mask(VirtIOPCIProxy *proxy,if (proxy->vdev->guest_notifier_mask) { proxy->vdev->guest_notifier_mask (proxy->vdev, queue_no, true); }else { -kvm_virtio_pci_irqfd_release (proxy, vector, queue_no); +kvm_virtio_pci_irqfd_release (proxy, queue_no, vector); } }
Heh, even I can review this patch!
Thanks for the fix!
Laszlo
Quoted 6 lines · Michael S. Tsirkin
Order of arguments of
kvm_virtio_pci_irqfd_releasegot mixed up in all calls.
As a result users see assertions during cleanup.Reported-by Laszlo Ersek <[email protected]>Signed-off-by Michael S. Tsirkin <[email protected]>
Thank you, fixed my assertion here:hw/virtio-pci.c:535: kvm_virtio_pci_irqfd_release: Assertion `ret == 0' failed.
Quoted 37 lines
---
hw/virtio-pci.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)hw/virtio-pci.c +3
-3@@ -576,7 +576,7 @@ undo:continue ; }if (proxy->vdev->guest_notifier_mask) { -kvm_virtio_pci_irqfd_release (proxy, vector, queue_no); +kvm_virtio_pci_irqfd_release (proxy, queue_no, vector); }kvm_virtio_pci_vq_vector_release (proxy, vector); }@@ -602,7 +602,7 @@ static void kvm_virtio_pci_vector_release(VirtIOPCIProxy *proxy, int nvqs)* Otherwise, it was cleaned when masked in the frontend. */ if (proxy->vdev->guest_notifier_mask) { -kvm_virtio_pci_irqfd_release (proxy, vector, queue_no); +kvm_virtio_pci_irqfd_release (proxy, queue_no, vector); }kvm_virtio_pci_vq_vector_release (proxy, vector); }@@ -651,7 +651,7 @@ static void kvm_virtio_pci_vq_vector_mask(VirtIOPCIProxy *proxy,if (proxy->vdev->guest_notifier_mask) { proxy->vdev->guest_notifier_mask (proxy->vdev, queue_no, true); }else { -kvm_virtio_pci_irqfd_release (proxy, vector, queue_no); +kvm_virtio_pci_irqfd_release (proxy, queue_no, vector); } }
Quoted 10 lines · Michael S. Tsirkin
Order of arguments of
kvm_virtio_pci_irqfd_releasegot mixed up in all calls.
As a result users see assertions during cleanup.Reported-by Laszlo Ersek <[email protected]>Signed-off-by Michael S. Tsirkin <[email protected]>---
hw/virtio-pci.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
Thanks for the fix.
Anthony Liguori
AppliedApplied. Thanks.
Regards,
Anthony Liguori