summaryrefslogtreecommitdiff
path: root/drivers/vhost/net.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/vhost/net.c')
-rw-r--r--drivers/vhost/net.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/drivers/vhost/net.c b/drivers/vhost/net.c
index 7f886d3dba7d..440d959b6e24 100644
--- a/drivers/vhost/net.c
+++ b/drivers/vhost/net.c
@@ -240,7 +240,7 @@ vhost_net_ubuf_alloc(struct vhost_virtqueue *vq, bool zcopy)
/* No zero copy backend? Nothing to count. */
if (!zcopy)
return NULL;
- ubufs = kmalloc(sizeof(*ubufs), GFP_KERNEL);
+ ubufs = kmalloc_obj(*ubufs, GFP_KERNEL);
if (!ubufs)
return ERR_PTR(-ENOMEM);
atomic_set(&ubufs->refcount, 1);
@@ -293,9 +293,8 @@ static int vhost_net_set_ubuf_info(struct vhost_net *n)
if (!zcopy)
continue;
n->vqs[i].ubuf_info =
- kmalloc_array(UIO_MAXIOV,
- sizeof(*n->vqs[i].ubuf_info),
- GFP_KERNEL);
+ kmalloc_objs(*n->vqs[i].ubuf_info, UIO_MAXIOV,
+ GFP_KERNEL);
if (!n->vqs[i].ubuf_info)
goto err;
}
@@ -1328,10 +1327,10 @@ static int vhost_net_open(struct inode *inode, struct file *f)
struct xdp_buff *xdp;
int i;
- n = kvmalloc(sizeof *n, GFP_KERNEL | __GFP_RETRY_MAYFAIL);
+ n = kvmalloc_obj(*n, GFP_KERNEL | __GFP_RETRY_MAYFAIL);
if (!n)
return -ENOMEM;
- vqs = kmalloc_array(VHOST_NET_VQ_MAX, sizeof(*vqs), GFP_KERNEL);
+ vqs = kmalloc_objs(*vqs, VHOST_NET_VQ_MAX, GFP_KERNEL);
if (!vqs) {
kvfree(n);
return -ENOMEM;
@@ -1346,7 +1345,7 @@ static int vhost_net_open(struct inode *inode, struct file *f)
}
n->vqs[VHOST_NET_VQ_RX].rxq.queue = queue;
- xdp = kmalloc_array(VHOST_NET_BATCH, sizeof(*xdp), GFP_KERNEL);
+ xdp = kmalloc_objs(*xdp, VHOST_NET_BATCH, GFP_KERNEL);
if (!xdp) {
kfree(vqs);
kvfree(n);