Commit 07f4695c authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost

Pull vhost cleanups from Michael S Tsirkin:
 "Two cleanup patches removing code duplication that got introduced by
  changes in rc1.  Not fixing crashes, but I'd rather not carry the
  duplicate code until the next merge window"

* tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost:
  vhost-scsi: don't open-code kvfree
  vhost-net: don't open-code kvfree
parents b8e46d22 68404441
...@@ -700,14 +700,6 @@ static void handle_rx_net(struct vhost_work *work) ...@@ -700,14 +700,6 @@ static void handle_rx_net(struct vhost_work *work)
handle_rx(net); handle_rx(net);
} }
static void vhost_net_free(void *addr)
{
if (is_vmalloc_addr(addr))
vfree(addr);
else
kfree(addr);
}
static int vhost_net_open(struct inode *inode, struct file *f) static int vhost_net_open(struct inode *inode, struct file *f)
{ {
struct vhost_net *n; struct vhost_net *n;
...@@ -723,7 +715,7 @@ static int vhost_net_open(struct inode *inode, struct file *f) ...@@ -723,7 +715,7 @@ static int vhost_net_open(struct inode *inode, struct file *f)
} }
vqs = kmalloc(VHOST_NET_VQ_MAX * sizeof(*vqs), GFP_KERNEL); vqs = kmalloc(VHOST_NET_VQ_MAX * sizeof(*vqs), GFP_KERNEL);
if (!vqs) { if (!vqs) {
vhost_net_free(n); kvfree(n);
return -ENOMEM; return -ENOMEM;
} }
...@@ -840,7 +832,7 @@ static int vhost_net_release(struct inode *inode, struct file *f) ...@@ -840,7 +832,7 @@ static int vhost_net_release(struct inode *inode, struct file *f)
* since jobs can re-queue themselves. */ * since jobs can re-queue themselves. */
vhost_net_flush(n); vhost_net_flush(n);
kfree(n->dev.vqs); kfree(n->dev.vqs);
vhost_net_free(n); kvfree(n);
return 0; return 0;
} }
......
...@@ -1503,14 +1503,6 @@ static int vhost_scsi_set_features(struct vhost_scsi *vs, u64 features) ...@@ -1503,14 +1503,6 @@ static int vhost_scsi_set_features(struct vhost_scsi *vs, u64 features)
return 0; return 0;
} }
static void vhost_scsi_free(struct vhost_scsi *vs)
{
if (is_vmalloc_addr(vs))
vfree(vs);
else
kfree(vs);
}
static int vhost_scsi_open(struct inode *inode, struct file *f) static int vhost_scsi_open(struct inode *inode, struct file *f)
{ {
struct vhost_scsi *vs; struct vhost_scsi *vs;
...@@ -1550,7 +1542,7 @@ static int vhost_scsi_open(struct inode *inode, struct file *f) ...@@ -1550,7 +1542,7 @@ static int vhost_scsi_open(struct inode *inode, struct file *f)
return 0; return 0;
err_vqs: err_vqs:
vhost_scsi_free(vs); kvfree(vs);
err_vs: err_vs:
return r; return r;
} }
...@@ -1569,7 +1561,7 @@ static int vhost_scsi_release(struct inode *inode, struct file *f) ...@@ -1569,7 +1561,7 @@ static int vhost_scsi_release(struct inode *inode, struct file *f)
/* Jobs can re-queue themselves in evt kick handler. Do extra flush. */ /* Jobs can re-queue themselves in evt kick handler. Do extra flush. */
vhost_scsi_flush(vs); vhost_scsi_flush(vs);
kfree(vs->dev.vqs); kfree(vs->dev.vqs);
vhost_scsi_free(vs); kvfree(vs);
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment