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 <xiao.w.wang@intel.com>
Reviewed-by: Xiaolong Ye <xiaolong.ye@intel.com>
struct rte_pci_device *dev = internal->pdev;
char devname[RTE_DEV_NAME_MAX_LEN] = {0};
int iommu_group_num;
struct rte_pci_device *dev = internal->pdev;
char devname[RTE_DEV_NAME_MAX_LEN] = {0};
int iommu_group_num;
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);
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,
+ 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)
internal->vfio_container_fd = rte_vfio_container_create();
if (internal->vfio_container_fd < 0)