This driver was not unregistering its interrupt callbacks when closing
the port, which now means use after free after the interrupt handle
is not duplicated anymore by the interrupt thread.

Fixes: c663018eb7f3 ("interrupts: do not duplicate interrupt handles")

Signed-off-by: David Marchand <[email protected]>
Reviewed-by: Robin Jarry <[email protected]>
---
Changes since v1:
- moved unrelated change,

---
 drivers/net/tap/rte_eth_tap.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/net/tap/rte_eth_tap.c b/drivers/net/tap/rte_eth_tap.c
index 66a55301e7..f6502c5e56 100644
--- a/drivers/net/tap/rte_eth_tap.c
+++ b/drivers/net/tap/rte_eth_tap.c
@@ -1106,6 +1106,8 @@ tap_dev_close(struct rte_eth_dev *dev)
                return 0;
        }
 
+       tap_intr_handle_set(dev, 0);
+
        if (!internals->persist)
                tap_link_set_down(dev);
 
-- 
2.56.0

Reply via email to