vfio: fix socket option check
authorDaniel Mrzyglod <danielx.t.mrzyglod@intel.com>
Fri, 22 Apr 2016 13:17:09 +0000 (15:17 +0200)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Wed, 27 Apr 2016 15:41:46 +0000 (17:41 +0200)
Fix issue reported by Coverity.
Coverity ID 13194

The function returns a value that indicates an error condition. If this
is not checked, the error condition may not be handled correctly.

Fixes: 2f4adfad0a69 ("vfio: add multiprocess support")

Signed-off-by: Daniel Mrzyglod <danielx.t.mrzyglod@intel.com>
Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
lib/librte_eal/linuxapp/eal/eal_pci_vfio_mp_sync.c

index d9188fd..26d966e 100644 (file)
@@ -287,7 +287,10 @@ pci_vfio_mp_sync_thread(void __rte_unused * arg)
                struct linger l;
                l.l_onoff = 1;
                l.l_linger = 60;
-               setsockopt(conn_sock, SOL_SOCKET, SO_LINGER, &l, sizeof(l));
+
+               if (setsockopt(conn_sock, SOL_SOCKET, SO_LINGER, &l, sizeof(l)) < 0)
+                       RTE_LOG(WARNING, EAL, "Cannot set SO_LINGER option "
+                                       "on listen socket (%s)\n", strerror(errno));
 
                ret = vfio_mp_sync_receive_request(conn_sock);