Commit 668866b6 authored by Markus Elfring's avatar Markus Elfring Committed by Michael S. Tsirkin
Browse files

virtio_blk: Use kmalloc_array() in init_vq()



Multiplications for the size determination of memory allocations
indicated that array data structures should be processed.
Thus use the corresponding function "kmalloc_array".

This issue was detected by using the Coccinelle software.

Signed-off-by: default avatarMarkus Elfring <elfring@users.sourceforge.net>
Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
parent 3dae2c61
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -390,13 +390,13 @@ static int init_vq(struct virtio_blk *vblk)
	if (err)
		num_vqs = 1;

	vblk->vqs = kmalloc(sizeof(*vblk->vqs) * num_vqs, GFP_KERNEL);
	vblk->vqs = kmalloc_array(num_vqs, sizeof(*vblk->vqs), GFP_KERNEL);
	if (!vblk->vqs)
		return -ENOMEM;

	names = kmalloc(sizeof(*names) * num_vqs, GFP_KERNEL);
	callbacks = kmalloc(sizeof(*callbacks) * num_vqs, GFP_KERNEL);
	vqs = kmalloc(sizeof(*vqs) * num_vqs, GFP_KERNEL);
	names = kmalloc_array(num_vqs, sizeof(*names), GFP_KERNEL);
	callbacks = kmalloc_array(num_vqs, sizeof(*callbacks), GFP_KERNEL);
	vqs = kmalloc_array(num_vqs, sizeof(*vqs), GFP_KERNEL);
	if (!names || !callbacks || !vqs) {
		err = -ENOMEM;
		goto out;