net/virtio-user: check tap system call setting
authorChenbo Xia <chenbo.xia@intel.com>
Wed, 29 Jul 2020 13:12:30 +0000 (13:12 +0000)
committerFerruh Yigit <ferruh.yigit@intel.com>
Wed, 29 Jul 2020 22:41:24 +0000 (00:41 +0200)
Setting the flags of tapfd may fail and the return value
should be checked.

Coverity issue: 140739
Fixes: e3b434818bbb ("net/virtio-user: support kernel vhost")
Cc: stable@dpdk.org
Signed-off-by: Chenbo Xia <chenbo.xia@intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
drivers/net/virtio/virtio_user/vhost_kernel_tap.c

index 2fa4f0d..acddefa 100644 (file)
@@ -128,7 +128,10 @@ vhost_kernel_open_tap(char **p_ifname, int hdr_size, int req_mq,
                goto error;
        }
 
-       fcntl(tapfd, F_SETFL, O_NONBLOCK);
+       if (fcntl(tapfd, F_SETFL, O_NONBLOCK) < 0) {
+               PMD_DRV_LOG(ERR, "fcntl tapfd failed: %s", strerror(errno));
+               goto error;
+       }
 
        if (ioctl(tapfd, TUNSETVNETHDRSZ, &hdr_size) < 0) {
                PMD_DRV_LOG(ERR, "TUNSETVNETHDRSZ failed: %s", strerror(errno));