From: Yunjian Wang Date: Tue, 7 Jun 2022 06:50:49 +0000 (+0800) Subject: net/failsafe: fix device freeing X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=fd819cad0a266421ca9872570e923c2a7ae68183;p=dpdk.git 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 --- 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; }