diff options
Diffstat (limited to 'drivers/scsi/virtio_scsi.c')
| -rw-r--r-- | drivers/scsi/virtio_scsi.c | 7 | 
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/scsi/virtio_scsi.c b/drivers/scsi/virtio_scsi.c index 45d04631888a..6dc8891ccb74 100644 --- a/drivers/scsi/virtio_scsi.c +++ b/drivers/scsi/virtio_scsi.c @@ -794,9 +794,10 @@ static int virtscsi_init(struct virtio_device *vdev,  	struct irq_affinity desc = { .pre_vectors = 2 };  	num_vqs = vscsi->num_queues + VIRTIO_SCSI_VQ_BASE; -	vqs = kmalloc(num_vqs * sizeof(struct virtqueue *), GFP_KERNEL); -	callbacks = kmalloc(num_vqs * sizeof(vq_callback_t *), GFP_KERNEL); -	names = kmalloc(num_vqs * sizeof(char *), GFP_KERNEL); +	vqs = kmalloc_array(num_vqs, sizeof(struct virtqueue *), GFP_KERNEL); +	callbacks = kmalloc_array(num_vqs, sizeof(vq_callback_t *), +				  GFP_KERNEL); +	names = kmalloc_array(num_vqs, sizeof(char *), GFP_KERNEL);  	if (!callbacks || !vqs || !names) {  		err = -ENOMEM;  |