[dpdk-dev] [PATCH 1/1] net/txgbe: fix use-after-free on remove
Jiawen Wu
jiawenwu at trustnetic.com
Thu May 18 09:46:40 CEST 2023
> When cleaning up NIC's interrupts, it is possible to add some alarms
> at the same time. However, if these alarms are not canceled, it may
> cause use-after-free problems. Therefore, after cleaning up NIC's
> interrupts, these alarms should also be canceled.
>
> Fixes: d3bb4a04eac1 ("net/txgbe: add SFP hotplug identification")
> Fixes: e0d876ef6bbc ("net/txgbe: support device stop and close")
> Cc: stable at dpdk.org
>
> Reported-by: Pengfei Sun <sunpengfei16 at huawei.com>
> Signed-off-by: Yunjian Wang <wangyunjian at huawei.com>
> ---
> drivers/net/txgbe/txgbe_ethdev.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/txgbe/txgbe_ethdev.c b/drivers/net/txgbe/txgbe_ethdev.c
> index a502618bc5..a3d7461951 100644
> --- a/drivers/net/txgbe/txgbe_ethdev.c
> +++ b/drivers/net/txgbe/txgbe_ethdev.c
> @@ -2032,8 +2032,10 @@ txgbe_dev_close(struct rte_eth_dev *dev)
> rte_delay_ms(100);
> } while (retries++ < (10 + TXGBE_LINK_UP_TIME));
>
> - /* cancel the delay handler before remove dev */
> + /* cancel all alarm handler before remove dev */
> rte_eal_alarm_cancel(txgbe_dev_interrupt_delayed_handler, dev);
> + rte_eal_alarm_cancel(txgbe_dev_detect_sfp, dev);
> + rte_eal_alarm_cancel(txgbe_dev_setup_link_alarm_handler, dev);
>
> /* uninitialize PF if max_vfs not zero */
> txgbe_pf_host_uninit(dev);
> --
> 2.33.0
>
>
Reviewed-by: Jiawen Wu <jiawenwu at trustnetic.com>
More information about the stable
mailing list