The variable cdx_addr is a stack-allocated zero-initialized char array, but
it is never used anywhere except in an error handler to stand it as a
device bus address for a VFIO device release call. This is incorrect, as it
should have been actual device address, so fix the code to reflect that.

Fixes: 45ef232af515 ("bus/cdx: introduce AMD CDX bus")
Cc: [email protected]
Cc: [email protected]

Signed-off-by: Anatoly Burakov <[email protected]>
---
 drivers/bus/cdx/cdx_vfio.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/bus/cdx/cdx_vfio.c b/drivers/bus/cdx/cdx_vfio.c
index a3cf53b6a6..11fe3265d2 100644
--- a/drivers/bus/cdx/cdx_vfio.c
+++ b/drivers/bus/cdx/cdx_vfio.c
@@ -485,7 +485,6 @@ static int
 cdx_vfio_map_resource_secondary(struct rte_cdx_device *dev)
 {
        struct vfio_device_info device_info = { .argsz = sizeof(device_info) };
-       char cdx_addr[PATH_MAX] = {0};
        int vfio_dev_fd;
        int i, ret;
        struct mapped_cdx_resource *vfio_res = NULL;
@@ -536,7 +535,7 @@ cdx_vfio_map_resource_secondary(struct rte_cdx_device *dev)
 
        return 0;
 err_vfio_dev_fd:
-       rte_vfio_release_device(RTE_CDX_BUS_DEVICES_PATH, cdx_addr, 
vfio_dev_fd);
+       rte_vfio_release_device(RTE_CDX_BUS_DEVICES_PATH, dev_name, 
vfio_dev_fd);
        return -1;
 }
 
-- 
2.47.3

Reply via email to