Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 07f4695c authored by Linus Torvalds's avatar Linus Torvalds
Browse files
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
Loading
Loading
Loading
Loading
+2 −10
Original line number Original line Diff line number Diff line
@@ -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)
	}
	}
	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)
	 * 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;
}
}


+2 −10
Original line number Original line Diff line number Diff line
@@ -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)
	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)
	/* 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;
}
}