Thread (45 messages) 45 messages, 7 authors, 2021-12-16

Re: [PATCH v9 16/17] vduse: Introduce VDUSE - vDPA Device in Userspace

flat view

From: Dan Carpenter <hidden>
Date: 2021-07-13 13:28:36
Also in: kvm, linux-fsdevel, linux-iommu, lkml, virtualization

On Tue, Jul 13, 2021 at 04:46:55PM +0800, Xie Yongji wrote:
quoted hunk ↗ jump to hunk
+static int vduse_dev_init_vdpa(struct vduse_dev *dev, const char *name)
+{
+	struct vduse_vdpa *vdev;
+	int ret;
+
+	if (dev->vdev)
+		return -EEXIST;
+
+	vdev = vdpa_alloc_device(struct vduse_vdpa, vdpa, dev->dev,
+				 &vduse_vdpa_config_ops, name, true);
+	if (!vdev)
+		return -ENOMEM;
This should be an IS_ERR() check instead of a NULL check.

The vdpa_alloc_device() macro is doing something very complicated but
I'm not sure what.  It calls container_of() and that looks buggy until
you spot the BUILD_BUG_ON_ZERO() compile time assert which ensures that
the container_of() is a no-op.

Only one of the callers checks for error pointers correctly so maybe
it's too complicated or maybe there should be better documentation.

regards,
dan carpenter
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help