aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2010-03-01 12:16:21 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2010-03-01 12:16:21 -0500
commit4805a1b0e6d74feb6428c05116a2886a076ee341 (patch)
tree7390fc1dfabe79f01971c2c219b519c9b89a635b
parentac0f6f927db539e03e1f3f61bcd4ed57d5cde7a9 (diff)
parent3119815912a220bdac943dfbdfee640414c0c611 (diff)
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost: virtio: fix out of range array access
-rw-r--r--drivers/virtio/virtio_pci.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/virtio/virtio_pci.c b/drivers/virtio/virtio_pci.c
index 1d5191fab62e..1b6573216998 100644
--- a/drivers/virtio/virtio_pci.c
+++ b/drivers/virtio/virtio_pci.c
@@ -473,7 +473,8 @@ static void vp_del_vqs(struct virtio_device *vdev)
473 473
474 list_for_each_entry_safe(vq, n, &vdev->vqs, list) { 474 list_for_each_entry_safe(vq, n, &vdev->vqs, list) {
475 info = vq->priv; 475 info = vq->priv;
476 if (vp_dev->per_vq_vectors) 476 if (vp_dev->per_vq_vectors &&
477 info->msix_vector != VIRTIO_MSI_NO_VECTOR)
477 free_irq(vp_dev->msix_entries[info->msix_vector].vector, 478 free_irq(vp_dev->msix_entries[info->msix_vector].vector,
478 vq); 479 vq);
479 vp_del_vq(vq); 480 vp_del_vq(vq);