From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 25F0D42B38 for ; Thu, 18 May 2023 09:46:55 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 19DB242D16; Thu, 18 May 2023 09:46:55 +0200 (CEST) Received: from smtpbgbr2.qq.com (smtpbgbr2.qq.com [54.207.22.56]) by mails.dpdk.org (Postfix) with ESMTP id BF90642B71; Thu, 18 May 2023 09:46:50 +0200 (CEST) X-QQ-mid: Yeas49t1684396001t974t53502 Received: from 3DB253DBDE8942B29385B9DFB0B7E889 (jiawenwu@trustnetic.com [115.200.228.151]) X-QQ-SSF: 00400000000000F0FNF000000000000 From: =?utf-8?b?Smlhd2VuIFd1?= X-BIZMAIL-ID: 12186281825975796213 To: "'Yunjian Wang'" , Cc: , , References: <06a89892aa1b37996e5e629b3488c59d565393bd.1684393730.git.wangyunjian@huawei.com> In-Reply-To: <06a89892aa1b37996e5e629b3488c59d565393bd.1684393730.git.wangyunjian@huawei.com> Subject: RE: [dpdk-dev] [PATCH 1/1] net/txgbe: fix use-after-free on remove Date: Thu, 18 May 2023 15:46:40 +0800 Message-ID: <01e501d9895c$e242de90$a6c89bb0$@trustnetic.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Mailer: Microsoft Outlook 16.0 Content-Language: zh-cn Thread-Index: AQEqUOV9kxl+nJZSFgF1UJ8AGoCWgLC+F1SQ X-QQ-SENDSIZE: 520 Feedback-ID: Yeas:trustnetic.com:qybglogicsvrgz:qybglogicsvrgz5a-1 X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org > 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@dpdk.org > > Reported-by: Pengfei Sun > Signed-off-by: Yunjian Wang > --- > 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