From fd819cad0a266421ca9872570e923c2a7ae68183 Mon Sep 17 00:00:00 2001 From: Yunjian Wang Date: Tue, 7 Jun 2022 14:50:49 +0800 Subject: [PATCH] net/failsafe: fix device freeing The PMD destroy function was calling the release function, which frees dev->data->dev_private, and then tries to free PRIV(dev)->intr_handle, which causes the heap use after free issue. The free can be moved to before the release function is called. Fixes: d61138d4f0e ("drivers: remove direct access to interrupt handle") Cc: stable@dpdk.org Signed-off-by: Yunjian Wang Reviewed-by: Andrew Rybchenko --- drivers/net/failsafe/failsafe.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/failsafe/failsafe.c b/drivers/net/failsafe/failsafe.c index 3c754a5f66..05cf533896 100644 --- a/drivers/net/failsafe/failsafe.c +++ b/drivers/net/failsafe/failsafe.c @@ -308,8 +308,8 @@ fs_rte_eth_free(const char *name) if (dev == NULL) return 0; /* port already released */ ret = failsafe_eth_dev_close(dev); - rte_eth_dev_release_port(dev); rte_intr_instance_free(PRIV(dev)->intr_handle); + rte_eth_dev_release_port(dev); return ret; } -- 2.39.5