This error is seen in build of type "minsize": In function 'pci_vfio_map_resource_secondary': drivers/bus/pci/linux/pci_vfio.c:1005:28: error: 'maps' may be used uninitialized [-Werror=maybe-uninitialized] 1005 | if (maps[j].addr)
On failure before assigning maps, it was trying to unmap. The fix is changing the goto destination after unmapping. Signed-off-by: Thomas Monjalon <[email protected]> --- drivers/bus/pci/linux/pci_vfio.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/bus/pci/linux/pci_vfio.c b/drivers/bus/pci/linux/pci_vfio.c index 242f567ed7..bc5c5c2499 100644 --- a/drivers/bus/pci/linux/pci_vfio.c +++ b/drivers/bus/pci/linux/pci_vfio.c @@ -968,7 +968,7 @@ pci_vfio_map_resource_secondary(struct rte_pci_device *dev) ret = pci_vfio_fill_regions(dev, vfio_dev_fd, &device_info); if (ret) - goto err_vfio_dev_fd; + goto err_vfio_dev; /* map BARs */ maps = vfio_res->maps; @@ -1005,6 +1005,7 @@ pci_vfio_map_resource_secondary(struct rte_pci_device *dev) if (maps[j].addr) pci_unmap_resource(maps[j].addr, maps[j].size); } +err_vfio_dev: rte_vfio_release_device(rte_pci_get_sysfs_path(), pci_addr, vfio_dev_fd); return -1; -- 2.52.0

