pci: fix UIO interrupt file descriptor check before close
authorYong Wang <wang.yong19@zte.com.cn>
Fri, 10 Feb 2017 13:53:17 +0000 (08:53 -0500)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Fri, 10 Feb 2017 13:23:27 +0000 (14:23 +0100)
The "dev->intr_handle.fd" is possibly a negative value while it is
passed as an argument to function "close". Fix the check to the fd.

Fixes: 5a60a7ffc801 ("pci: introduce functions to alloc and free uio resource")

Signed-off-by: Yong Wang <wang.yong19@zte.com.cn>
lib/librte_eal/linuxapp/eal/eal_pci_uio.c

index 3e4ffb5..20a4a66 100644 (file)
@@ -230,7 +230,7 @@ pci_uio_free_resource(struct rte_pci_device *dev,
                close(dev->intr_handle.uio_cfg_fd);
                dev->intr_handle.uio_cfg_fd = -1;
        }
-       if (dev->intr_handle.fd) {
+       if (dev->intr_handle.fd >= 0) {
                close(dev->intr_handle.fd);
                dev->intr_handle.fd = -1;
                dev->intr_handle.type = RTE_INTR_HANDLE_UNKNOWN;