On 26/07/16 18:20, Stephen Hemminger wrote: > Preferred style is to use kcalloc and kmalloc_array. > > Signed-off-by: Stephen Hemminger <step...@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);
I don't think this patch will compile. Too much args for kzalloc, s/kzalloc/kcalloc/ Cheers, Nik > 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; > >