diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-03-01 18:16:21 +0100 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-03-01 18:16:21 +0100 |
commit | 4805a1b0e6d74feb6428c05116a2886a076ee341 (patch) | |
tree | 7390fc1dfabe79f01971c2c219b519c9b89a635b | |
parent | Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm (diff) | |
parent | virtio: fix out of range array access (diff) | |
download | linux-4805a1b0e6d74feb6428c05116a2886a076ee341.tar.xz linux-4805a1b0e6d74feb6428c05116a2886a076ee341.zip |
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.c | 3 |
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) list_for_each_entry_safe(vq, n, &vdev->vqs, list) { info = vq->priv; - if (vp_dev->per_vq_vectors) + if (vp_dev->per_vq_vectors && + info->msix_vector != VIRTIO_MSI_NO_VECTOR) free_irq(vp_dev->msix_entries[info->msix_vector].vector, vq); vp_del_vq(vq); |