Message ID | 20130115174238.GA9798@redhat.com |
---|---|
State | New |
Headers | show |
On 01/15/13 18:42, Michael S. Tsirkin wrote: > Order of arguments of kvm_virtio_pci_irqfd_release > got mixed up in all calls. > As a result users see assertions during cleanup. > > Reported-by: Laszlo Ersek <lersek@redhat.com> > Signed-off-by: Michael S. Tsirkin <mst@redhat.com> > --- > > hw/virtio-pci.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/hw/virtio-pci.c b/hw/virtio-pci.c > index 0934246..212acd8 100644 > --- a/hw/virtio-pci.c > +++ b/hw/virtio-pci.c > @@ -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); > } > } > Heh, even I can review this patch! Reviewed-by: Laszlo Ersek <lersek@redhat.com> Tested-by: Laszlo Ersek <lersek@redhat.com> Thanks for the fix! Laszlo
On Tue, Jan 15, 2013 at 07:42:38PM +0200, Michael S. Tsirkin wrote: > Order of arguments of kvm_virtio_pci_irqfd_release > got mixed up in all calls. > As a result users see assertions during cleanup. > > Reported-by: Laszlo Ersek <lersek@redhat.com> > Signed-off-by: Michael S. Tsirkin <mst@redhat.com> > --- > > hw/virtio-pci.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) Thanks for the fix. Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
On 01/16/2013 01:42 AM, Michael S. Tsirkin wrote: > Order of arguments of kvm_virtio_pci_irqfd_release > got mixed up in all calls. > As a result users see assertions during cleanup. > > Reported-by: Laszlo Ersek <lersek@redhat.com> > Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Thank you, fixed my assertion here: hw/virtio-pci.c:535: kvm_virtio_pci_irqfd_release: Assertion `ret == 0' failed. Tested-by: Wanlong Gao <gaowanlong@cn.fujitsu.com> > --- > > hw/virtio-pci.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/hw/virtio-pci.c b/hw/virtio-pci.c > index 0934246..212acd8 100644 > --- a/hw/virtio-pci.c > +++ b/hw/virtio-pci.c > @@ -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); > } > } > >
Applied. Thanks. Regards, Anthony Liguori
diff --git a/hw/virtio-pci.c b/hw/virtio-pci.c index 0934246..212acd8 100644 --- a/hw/virtio-pci.c +++ b/hw/virtio-pci.c @@ -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); } }
Order of arguments of kvm_virtio_pci_irqfd_release got mixed up in all calls. As a result users see assertions during cleanup. Reported-by: Laszlo Ersek <lersek@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> --- hw/virtio-pci.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)