Skip to content

Commit ed79cc8

Browse files
committed
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
2 parents e33c1b9 + cf94db2 commit ed79cc8

File tree

4 files changed

+22
-5
lines changed

4 files changed

+22
-5
lines changed

MAINTAINERS

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16509,7 +16509,7 @@ F: drivers/char/virtio_console.c
1650916509
F: include/linux/virtio_console.h
1651016510
F: include/uapi/linux/virtio_console.h
1651116511

16512-
VIRTIO CORE, NET AND BLOCK DRIVERS
16512+
VIRTIO CORE AND NET DRIVERS
1651316513
M: "Michael S. Tsirkin" <[email protected]>
1651416514
M: Jason Wang <[email protected]>
1651516515
@@ -16524,6 +16524,19 @@ F: include/uapi/linux/virtio_*.h
1652416524
F: drivers/crypto/virtio/
1652516525
F: mm/balloon_compaction.c
1652616526

16527+
VIRTIO BLOCK AND SCSI DRIVERS
16528+
M: "Michael S. Tsirkin" <[email protected]>
16529+
M: Jason Wang <[email protected]>
16530+
R: Paolo Bonzini <[email protected]>
16531+
R: Stefan Hajnoczi <[email protected]>
16532+
16533+
S: Maintained
16534+
F: drivers/block/virtio_blk.c
16535+
F: drivers/scsi/virtio_scsi.c
16536+
F: include/uapi/linux/virtio_blk.h
16537+
F: include/uapi/linux/virtio_scsi.h
16538+
F: drivers/vhost/scsi.c
16539+
1652716540
VIRTIO CRYPTO DRIVER
1652816541
M: Gonglei <[email protected]>
1652916542

drivers/virtio/virtio_pci_common.c

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -255,9 +255,11 @@ void vp_del_vqs(struct virtio_device *vdev)
255255
for (i = 0; i < vp_dev->msix_used_vectors; ++i)
256256
free_irq(pci_irq_vector(vp_dev->pci_dev, i), vp_dev);
257257

258-
for (i = 0; i < vp_dev->msix_vectors; i++)
259-
if (vp_dev->msix_affinity_masks[i])
260-
free_cpumask_var(vp_dev->msix_affinity_masks[i]);
258+
if (vp_dev->msix_affinity_masks) {
259+
for (i = 0; i < vp_dev->msix_vectors; i++)
260+
if (vp_dev->msix_affinity_masks[i])
261+
free_cpumask_var(vp_dev->msix_affinity_masks[i]);
262+
}
261263

262264
if (vp_dev->msix_enabled) {
263265
/* Disable the vector used for configuration */

drivers/virtio/virtio_ring.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -882,6 +882,8 @@ static struct virtqueue *vring_create_virtqueue_split(
882882
GFP_KERNEL|__GFP_NOWARN|__GFP_ZERO);
883883
if (queue)
884884
break;
885+
if (!may_reduce_num)
886+
return NULL;
885887
}
886888

887889
if (!num)

include/linux/virtio_ring.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ struct virtqueue;
6363
/*
6464
* Creates a virtqueue and allocates the descriptor ring. If
6565
* may_reduce_num is set, then this may allocate a smaller ring than
66-
* expected. The caller should query virtqueue_get_ring_size to learn
66+
* expected. The caller should query virtqueue_get_vring_size to learn
6767
* the actual size of the ring.
6868
*/
6969
struct virtqueue *vring_create_virtqueue(unsigned int index,

0 commit comments

Comments
 (0)