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 AB60748A44 for ; Fri, 31 Oct 2025 15:39:30 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id A32A240150; Fri, 31 Oct 2025 15:39:30 +0100 (CET) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mails.dpdk.org (Postfix) with ESMTP id 978304069F for ; Fri, 31 Oct 2025 15:39:29 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1761921569; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=WsK2fYt4xvJpgc7u5qSjLbOfTAlw5v2FxrqZkU83ILY=; b=Q+qAWjbjqtZxEkqHekd+rs2ojBDdytkPSyI4IFp0bFH8NIJmZL74n/TmNtm5zEJuw1yXoy hn+Dv31xkVjSmPJtzOIAmE3RFOjZGdsGMgi5eFAWRiumF9Q43KT2Ukn+6qStPujCA74Biv gTPgsnvQVJGSEugpCMqLne6HXnztYlY= Received: from mx-prod-mc-05.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-37-7Qf1s30wOoOeGx3ce-FIBg-1; Fri, 31 Oct 2025 10:39:27 -0400 X-MC-Unique: 7Qf1s30wOoOeGx3ce-FIBg-1 X-Mimecast-MFC-AGG-ID: 7Qf1s30wOoOeGx3ce-FIBg_1761921567 Received: from mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.111]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 253961955F01 for ; Fri, 31 Oct 2025 14:39:27 +0000 (UTC) Received: from rh.redhat.com (unknown [10.44.32.50]) by mx-prod-int-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id DCC7F180044F; Fri, 31 Oct 2025 14:39:25 +0000 (UTC) From: Kevin Traynor To: Robin Jarry Cc: dpdk stable Subject: patch 'net/tap: fix interrupt callback crash after failed start' has been queued to stable release 24.11.4 Date: Fri, 31 Oct 2025 14:33:51 +0000 Message-ID: <20251031143421.324432-109-ktraynor@redhat.com> In-Reply-To: <20251031143421.324432-1-ktraynor@redhat.com> References: <20251031143421.324432-1-ktraynor@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.111 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: OX034iH_AF2RfcpYvpHsPQI0m_ooBBKv8XEV1CHGrj8_1761921567 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: 8bit content-type: text/plain; charset="US-ASCII"; x-default=true 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 Hi, FYI, your patch has been queued to stable release 24.11.4 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 11/05/25. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/kevintraynor/dpdk-stable This queued commit can be viewed at: https://github.com/kevintraynor/dpdk-stable/commit/8afcb7db48833dfd26f9a78f9355a32ca666f757 Thanks. Kevin --- >From 8afcb7db48833dfd26f9a78f9355a32ca666f757 Mon Sep 17 00:00:00 2001 From: Robin Jarry Date: Fri, 17 Oct 2025 14:19:47 +0200 Subject: [PATCH] net/tap: fix interrupt callback crash after failed start [ upstream commit c44ed082917316257dbeb2454414932d39f9c321 ] After moving a tap linux net device to a different namespace, tap_link_set_up fails with an -ENODEV error. Indeed it relies on an ioctl call using the interface name as argument: /* with ifr->ifrn_name = "dtapX" */ ioctl(pmd->ioctl_sock, SIOCGIFFLAGS, ifr) This causes rte_eth_dev_stop() to do nothing since the device is not seen as started. And then, when removing the device, the interrupt callbacks are left there. If they are invoked, they will be so with a "freed" device pointer: Thread 2 "dpdk-intr" hit Breakpoint 1, tap_dev_intr_handler at ../drivers/net/tap/rte_eth_tap.c:1689 1689 struct pmd_internals *pmd = dev->data->dev_private; (gdb) p *dev $2 = { ... data = 0x0, ... state = RTE_ETH_DEV_UNUSED, security_ctx = 0x0 } This causes a crash when dereferencing the data pointer. When tap_link_set_up fails, ensure to unregister the interrupt callbacks that were just reinstalled. Fixes: c0bddd3a057f ("net/tap: add link status notification") Signed-off-by: Robin Jarry --- drivers/net/tap/rte_eth_tap.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/net/tap/rte_eth_tap.c b/drivers/net/tap/rte_eth_tap.c index 650ddbd706..58d70f7dd6 100644 --- a/drivers/net/tap/rte_eth_tap.c +++ b/drivers/net/tap/rte_eth_tap.c @@ -890,6 +890,8 @@ tap_dev_start(struct rte_eth_dev *dev) err = tap_link_set_up(dev); - if (err) + if (err) { + tap_intr_handle_set(dev, 0); return err; + } for (i = 0; i < dev->data->nb_tx_queues; i++) -- 2.51.0 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2025-10-31 13:53:55.522904436 +0000 +++ 0109-net-tap-fix-interrupt-callback-crash-after-failed-st.patch 2025-10-31 13:53:52.286524149 +0000 @@ -1 +1 @@ -From c44ed082917316257dbeb2454414932d39f9c321 Mon Sep 17 00:00:00 2001 +From 8afcb7db48833dfd26f9a78f9355a32ca666f757 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit c44ed082917316257dbeb2454414932d39f9c321 ] + @@ -37 +38,0 @@ -Cc: stable@dpdk.org