Commit ed79cc87 authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost

Pull virtio fixes from Michael Tsirkin:
 "Several fixes, add more reviewers to the list"

* tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost:
  virtio: Honour 'may_reduce_num' in vring_create_virtqueue
  MAiNTAINERS: add Paolo, Stefan for virtio blk/scsi
  virtio_pci: fix a NULL pointer reference in vp_del_vqs
parents e33c1b99 cf94db21
...@@ -16509,7 +16509,7 @@ F: drivers/char/virtio_console.c ...@@ -16509,7 +16509,7 @@ F: drivers/char/virtio_console.c
F: include/linux/virtio_console.h F: include/linux/virtio_console.h
F: include/uapi/linux/virtio_console.h F: include/uapi/linux/virtio_console.h
VIRTIO CORE, NET AND BLOCK DRIVERS VIRTIO CORE AND NET DRIVERS
M: "Michael S. Tsirkin" <mst@redhat.com> M: "Michael S. Tsirkin" <mst@redhat.com>
M: Jason Wang <jasowang@redhat.com> M: Jason Wang <jasowang@redhat.com>
L: virtualization@lists.linux-foundation.org L: virtualization@lists.linux-foundation.org
...@@ -16524,6 +16524,19 @@ F: include/uapi/linux/virtio_*.h ...@@ -16524,6 +16524,19 @@ F: include/uapi/linux/virtio_*.h
F: drivers/crypto/virtio/ F: drivers/crypto/virtio/
F: mm/balloon_compaction.c F: mm/balloon_compaction.c
VIRTIO BLOCK AND SCSI DRIVERS
M: "Michael S. Tsirkin" <mst@redhat.com>
M: Jason Wang <jasowang@redhat.com>
R: Paolo Bonzini <pbonzini@redhat.com>
R: Stefan Hajnoczi <stefanha@redhat.com>
L: virtualization@lists.linux-foundation.org
S: Maintained
F: drivers/block/virtio_blk.c
F: drivers/scsi/virtio_scsi.c
F: include/uapi/linux/virtio_blk.h
F: include/uapi/linux/virtio_scsi.h
F: drivers/vhost/scsi.c
VIRTIO CRYPTO DRIVER VIRTIO CRYPTO DRIVER
M: Gonglei <arei.gonglei@huawei.com> M: Gonglei <arei.gonglei@huawei.com>
L: virtualization@lists.linux-foundation.org L: virtualization@lists.linux-foundation.org
......
...@@ -255,9 +255,11 @@ void vp_del_vqs(struct virtio_device *vdev) ...@@ -255,9 +255,11 @@ void vp_del_vqs(struct virtio_device *vdev)
for (i = 0; i < vp_dev->msix_used_vectors; ++i) for (i = 0; i < vp_dev->msix_used_vectors; ++i)
free_irq(pci_irq_vector(vp_dev->pci_dev, i), vp_dev); free_irq(pci_irq_vector(vp_dev->pci_dev, i), vp_dev);
for (i = 0; i < vp_dev->msix_vectors; i++) if (vp_dev->msix_affinity_masks) {
if (vp_dev->msix_affinity_masks[i]) for (i = 0; i < vp_dev->msix_vectors; i++)
free_cpumask_var(vp_dev->msix_affinity_masks[i]); if (vp_dev->msix_affinity_masks[i])
free_cpumask_var(vp_dev->msix_affinity_masks[i]);
}
if (vp_dev->msix_enabled) { if (vp_dev->msix_enabled) {
/* Disable the vector used for configuration */ /* Disable the vector used for configuration */
......
...@@ -882,6 +882,8 @@ static struct virtqueue *vring_create_virtqueue_split( ...@@ -882,6 +882,8 @@ static struct virtqueue *vring_create_virtqueue_split(
GFP_KERNEL|__GFP_NOWARN|__GFP_ZERO); GFP_KERNEL|__GFP_NOWARN|__GFP_ZERO);
if (queue) if (queue)
break; break;
if (!may_reduce_num)
return NULL;
} }
if (!num) if (!num)
......
...@@ -63,7 +63,7 @@ struct virtqueue; ...@@ -63,7 +63,7 @@ struct virtqueue;
/* /*
* Creates a virtqueue and allocates the descriptor ring. If * Creates a virtqueue and allocates the descriptor ring. If
* may_reduce_num is set, then this may allocate a smaller ring than * may_reduce_num is set, then this may allocate a smaller ring than
* expected. The caller should query virtqueue_get_ring_size to learn * expected. The caller should query virtqueue_get_vring_size to learn
* the actual size of the ring. * the actual size of the ring.
*/ */
struct virtqueue *vring_create_virtqueue(unsigned int index, struct virtqueue *vring_create_virtqueue(unsigned int index,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment