On Wed, Jun 15, 2016 at 08:32:45AM +0800, Huawei Xie wrote: > fixes the following coverity issues: > CID 107118 (#1 of 1): Dereference null return value (NULL_RETURNS) > CID 119262 (#1 of 1): Dereference null return value (NULL_RETURNS) > > Fixes: 8f972312b8f4 ("vhost: support vhost-user") > Fixes: 77d20126b4c2 ("vhost-user: handle message to enable vring") > > Signed-off-by: Huawei Xie <huawei.xie at intel.com> > --- > lib/librte_vhost/vhost_user/virtio-net-user.c | 11 +++++++++-- > 1 file changed, 9 insertions(+), 2 deletions(-) > > diff --git a/lib/librte_vhost/vhost_user/virtio-net-user.c > b/lib/librte_vhost/vhost_user/virtio-net-user.c > index 5803182..5844a42 100644 > --- a/lib/librte_vhost/vhost_user/virtio-net-user.c > +++ b/lib/librte_vhost/vhost_user/virtio-net-user.c > @@ -283,6 +283,9 @@ user_set_vring_kick(struct vhost_device_ctx ctx, struct > VhostUserMsg *pmsg) > struct vhost_vring_file file; > struct virtio_net *dev = get_device(ctx); > > + if (!dev) > + return; > +
I just found that it's been fixed by commit a03aabf2e8d6 ("vhost: export vid as the only interface to applications"), "accidentally". > file.index = pmsg->payload.u64 & VHOST_USER_VRING_IDX_MASK; > if (pmsg->payload.u64 & VHOST_USER_VRING_NOFD_MASK) > file.fd = VIRTIO_INVALID_EVENTFD; > @@ -306,8 +309,9 @@ user_get_vring_base(struct vhost_device_ctx ctx, > { > struct virtio_net *dev = get_device(ctx); > > - if (dev == NULL) > + if (!dev) > return -1; What's that for? Interestingly, if you look at the DPDK coding style, you will find that it's encouraged to use "dev == NULL" check instead of the "!dev" check. I sometimes uses both though. So, I don't think it's a big deal, and I will leave it as it is. > + > /* We have to stop the queue (virtio) if it is running. */ > if (dev->flags & VIRTIO_DEV_RUNNING) > notify_ops->destroy_device(dev); > @@ -341,6 +345,9 @@ user_set_vring_enable(struct vhost_device_ctx ctx, > struct virtio_net *dev = get_device(ctx); > int enable = (int)state->num; > > + if (!dev) > + return -1; > + It's been fixed by commit 590a936287c6 ("vhost: fix null pointer dereference"). So, sorry, I will NACK this patch. --yliu