From ac466a1d6c7892cc835e1ccbcdc83336c2f44701 Mon Sep 17 00:00:00 2001 From: Xiao Wang Date: Tue, 26 Nov 2019 09:59:31 -0500 Subject: [PATCH] net/ifc: check VFIO query error It's possible that we fail to get the IOMMU group of ifcvf device, this patch adds a check on the return value. Coverity issue: 349894 Fixes: a3f8150eac6d ("net/ifcvf: add ifcvf vDPA driver") Cc: stable@dpdk.org Signed-off-by: Xiao Wang Reviewed-by: Xiaolong Ye --- drivers/net/ifc/ifcvf_vdpa.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/net/ifc/ifcvf_vdpa.c b/drivers/net/ifc/ifcvf_vdpa.c index 9c562def05..da4667ba54 100644 --- a/drivers/net/ifc/ifcvf_vdpa.c +++ b/drivers/net/ifc/ifcvf_vdpa.c @@ -136,15 +136,19 @@ ifcvf_vfio_setup(struct ifcvf_internal *internal) struct rte_pci_device *dev = internal->pdev; char devname[RTE_DEV_NAME_MAX_LEN] = {0}; int iommu_group_num; - int i; + int i, ret; internal->vfio_dev_fd = -1; internal->vfio_group_fd = -1; internal->vfio_container_fd = -1; rte_pci_device_name(&dev->addr, devname, RTE_DEV_NAME_MAX_LEN); - rte_vfio_get_group_num(rte_pci_get_sysfs_path(), devname, + ret = rte_vfio_get_group_num(rte_pci_get_sysfs_path(), devname, &iommu_group_num); + if (ret <= 0) { + DRV_LOG(ERR, "%s failed to get IOMMU group", devname); + return -1; + } internal->vfio_container_fd = rte_vfio_container_create(); if (internal->vfio_container_fd < 0) -- 2.20.1