Re: [PATCH net-next 3/3] virtio: use kcalloc and kmalloc_array
From: "Michael S. Tsirkin" <mst@redhat.com>
Date: 2016-07-26 16:34:55
On Tue, Jul 26, 2016 at 09:20:11AM -0700, Stephen Hemminger wrote:
quoted hunk ↗ jump to hunk
Preferred style is to use kcalloc and kmalloc_array. Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>--- a/drivers/net/virtio_net.c 2016-07-26 09:13:19.805400983 -0700 +++ b/drivers/net/virtio_net.c 2016-07-26 09:13:19.801400965 -0700@@ -1551,13 +1551,13 @@ static int virtnet_find_vqs(struct virtn virtio_has_feature(vi->vdev, VIRTIO_NET_F_CTRL_VQ); /* Allocate space for find_vqs parameters */ - vqs = kzalloc(total_vqs * sizeof(*vqs), GFP_KERNEL); + vqs = kzalloc(total_vqs, sizeof(*vqs), GFP_KERNEL);
Does this build? kzalloc seems to take only two arguments ... what am I missing?
quoted hunk ↗ jump to hunk
if (!vqs) goto err_vq; - callbacks = kmalloc(total_vqs * sizeof(*callbacks), GFP_KERNEL); + callbacks = kmalloc_array(total_vqs, sizeof(*callbacks), GFP_KERNEL); if (!callbacks) goto err_callback; - names = kmalloc(total_vqs * sizeof(*names), GFP_KERNEL); + names = kmalloc_array(total_vqs, sizeof(*names), GFP_KERNEL); if (!names) goto err_names;@@ -1613,10 +1613,10 @@ static int virtnet_alloc_queues(struct v { int i; - vi->sq = kzalloc(sizeof(*vi->sq) * vi->max_queue_pairs, GFP_KERNEL); + vi->sq = kcalloc(vi->max_queue_pairs, sizeof(*vi->sq), GFP_KERNEL); if (!vi->sq) goto err_sq; - vi->rq = kzalloc(sizeof(*vi->rq) * vi->max_queue_pairs, GFP_KERNEL); + vi->rq = kcalloc(vi->max_queue_pairs, sizeof(*vi->rq), GFP_KERNEL); if (!vi->rq) goto err_rq;