{"id":2225451,"url":"http://patchwork.ozlabs.org/api/patches/2225451/?format=json","web_url":"http://patchwork.ozlabs.org/project/intel-wired-lan/patch/20260421051641.370436-1-boolli@google.com/","project":{"id":46,"url":"http://patchwork.ozlabs.org/api/projects/46/?format=json","name":"Intel Wired Ethernet development","link_name":"intel-wired-lan","list_id":"intel-wired-lan.osuosl.org","list_email":"intel-wired-lan@osuosl.org","web_url":"","scm_url":"","webscm_url":"","list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<20260421051641.370436-1-boolli@google.com>","list_archive_url":null,"date":"2026-04-21T05:16:41","name":"[iwl-net,v2] idpf: do not perform flow ops when netdev is detached","commit_ref":null,"pull_url":null,"state":"needs-review-ack","archived":false,"hash":"742fffecaea9bb414463284b89124c4442c4ca3f","submitter":{"id":92373,"url":"http://patchwork.ozlabs.org/api/people/92373/?format=json","name":"Li Li","email":"boolli@google.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/intel-wired-lan/patch/20260421051641.370436-1-boolli@google.com/mbox/","series":[{"id":500730,"url":"http://patchwork.ozlabs.org/api/series/500730/?format=json","web_url":"http://patchwork.ozlabs.org/project/intel-wired-lan/list/?series=500730","date":"2026-04-21T05:16:41","name":"[iwl-net,v2] idpf: do not perform flow ops when netdev is detached","version":2,"mbox":"http://patchwork.ozlabs.org/series/500730/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2225451/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2225451/checks/","tags":{},"related":[],"headers":{"Return-Path":"<intel-wired-lan-bounces@osuosl.org>","X-Original-To":["incoming@patchwork.ozlabs.org","intel-wired-lan@lists.osuosl.org"],"Delivered-To":["patchwork-incoming@legolas.ozlabs.org","intel-wired-lan@lists.osuosl.org"],"Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=osuosl.org header.i=@osuosl.org header.a=rsa-sha256\n header.s=default header.b=mrXsn4mx;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=osuosl.org\n (client-ip=140.211.166.137; helo=smtp4.osuosl.org;\n envelope-from=intel-wired-lan-bounces@osuosl.org;\n receiver=patchwork.ozlabs.org)"],"Received":["from smtp4.osuosl.org (smtp4.osuosl.org [140.211.166.137])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g09Zg2wfPz1yCv\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 21 Apr 2026 15:16:57 +1000 (AEST)","from localhost (localhost [127.0.0.1])\n\tby smtp4.osuosl.org (Postfix) with ESMTP id B06A541301;\n\tTue, 21 Apr 2026 05:16:54 +0000 (UTC)","from smtp4.osuosl.org ([127.0.0.1])\n by localhost (smtp4.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP\n id V1e3LpFaOPPD; Tue, 21 Apr 2026 05:16:53 +0000 (UTC)","from lists1.osuosl.org (lists1.osuosl.org [140.211.166.142])\n\tby smtp4.osuosl.org (Postfix) with ESMTP id 47045412FC;\n\tTue, 21 Apr 2026 05:16:53 +0000 (UTC)","from smtp3.osuosl.org (smtp3.osuosl.org [140.211.166.136])\n by lists1.osuosl.org (Postfix) with ESMTP id 178F624D\n for <intel-wired-lan@lists.osuosl.org>; Tue, 21 Apr 2026 05:16:52 +0000 (UTC)","from localhost (localhost [127.0.0.1])\n by smtp3.osuosl.org (Postfix) with ESMTP id 00E4D61198\n for <intel-wired-lan@lists.osuosl.org>; Tue, 21 Apr 2026 05:16:52 +0000 (UTC)","from smtp3.osuosl.org ([127.0.0.1])\n by localhost (smtp3.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP\n id 0ovT6hNKjkMu for <intel-wired-lan@lists.osuosl.org>;\n Tue, 21 Apr 2026 05:16:51 +0000 (UTC)","from mail-dl1-x124a.google.com (mail-dl1-x124a.google.com\n [IPv6:2607:f8b0:4864:20::124a])\n by smtp3.osuosl.org (Postfix) with ESMTPS id 3DC4361164\n for <intel-wired-lan@lists.osuosl.org>; Tue, 21 Apr 2026 05:16:51 +0000 (UTC)","by mail-dl1-x124a.google.com with SMTP id\n a92af1059eb24-12db218e265so1841166c88.0\n for <intel-wired-lan@lists.osuosl.org>; Mon, 20 Apr 2026 22:16:51 -0700 (PDT)"],"X-Virus-Scanned":["amavis at osuosl.org","amavis at osuosl.org"],"X-Comment":"SPF check N/A for local connections - client-ip=140.211.166.142;\n helo=lists1.osuosl.org; envelope-from=intel-wired-lan-bounces@osuosl.org;\n receiver=<UNKNOWN> ","DKIM-Filter":["OpenDKIM Filter v2.11.0 smtp4.osuosl.org 47045412FC","OpenDKIM Filter v2.11.0 smtp3.osuosl.org 3DC4361164"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=osuosl.org;\n\ts=default; t=1776748613;\n\tbh=7D53xtOFZWTTNmBFly2sMy6Aan/RQNTrroS2iD/6/Xo=;\n\th=Date:To:Cc:Subject:List-Id:List-Unsubscribe:List-Archive:\n\t List-Post:List-Help:List-Subscribe:From:Reply-To:From;\n\tb=mrXsn4mxD9an224TPjjo/wNUt9rcmgIfFfsLKjNDHGxwsQbEMtwFTwaxE4OfRuJ/m\n\t kGYxcmc/dcNHBrB453LCf+aMVhKmmMepjQC/sQuCgSJJ79Kevlix86xHCBIyPEdV2I\n\t mDxoVDU5pzaTd5KCub4ccSjv1MyeRbFZhst+RUbfVyjvoywgwdGayafQVYlY6Qn2Zo\n\t a1j+eZFUhVTAktN0ZMtSHvPZt2iw9psYXBqBn+dt2epwehfyZ/ow1Ne/izsED1CGxF\n\t Fp6BN0LJUQkoE+5x228FKMS2HwYO9otABM8YYRYsssob44VEC5C2rHQRBoH1NkEHPn\n\t ARVKVEQ/npBgw==","Received-SPF":"Pass (mailfrom) identity=mailfrom;\n client-ip=2607:f8b0:4864:20::124a; helo=mail-dl1-x124a.google.com;\n envelope-from=3qqjnaqykd0qhuurromuumrk.iusotzkr-2oxkj-rgtroyzy.uy0uyr.uxm@flex--boolli.bounces.google.com;\n receiver=<UNKNOWN>","DMARC-Filter":"OpenDMARC Filter v1.4.2 smtp3.osuosl.org 3DC4361164","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1776748610; x=1777353410;\n h=cc:to:from:subject:message-id:mime-version:date:x-gm-message-state\n :from:to:cc:subject:date:message-id:reply-to;\n bh=7D53xtOFZWTTNmBFly2sMy6Aan/RQNTrroS2iD/6/Xo=;\n b=PaVzrJ3l47uCS41HfQYMkTAMYnc/bsmCd06k70xDwOU+9t5AptY7zIwQdU09uPu+2B\n g5IG4GMgfKez1ra6U8JmHJTehPQSWYx8PuUweaDSOdGTFA/4YKlplgv57cMhc6T2D0Ku\n jfNBVUOgOlej9FiRmYsqQ6JwjD0o6/UpFJN9uI9aYYhDf7LbYiCga/2aUEeh6QDWnaXS\n ONPKcydQ4wUJc1ajYutDbD0MP6MrmQwRVmuLaX+6gyTrVq0EXKTTSYA8Q/UaLQMUWUhd\n 4d+CIvy25mz57Onw3c+u+TBDdUxIehwq0+1IKIOK5VlR5OUlPij9LSZilQ9OGVywQo+U\n V32g==","X-Forwarded-Encrypted":"i=1;\n AFNElJ/ICHFrAR439k54uyR5bmXQ2qxggkwHi/opz2lsbgCs1i9qitnmk4rP928WDiAIpAYNKrRl9W+/Pid/+FF8X18=@lists.osuosl.org","X-Gm-Message-State":"AOJu0YwP6RDuTdOVGVJk8Dn1+HTSW/leP08pV4QNA55fFEa1PXfj6ki3\n Xtzey0QZQwdTRIPZf+KSqX/Pp/PIKubtH2knqGuVeFoqF9ChRyGxKBd+dAP2BenhJBZE2b+pGwC\n n/rmzxw==","X-Received":"from dlbsn12.prod.google.com\n ([2002:a05:7022:b90c:b0:12d:b26a:1571])\n (user=boolli job=prod-delivery.src-stubby-dispatcher) by\n 2002:a05:7022:6290:b0:12c:8f92:c6ba\n with SMTP id a92af1059eb24-12c8f92c9damr3936024c88.34.1776748609630; Mon, 20\n Apr 2026 22:16:49 -0700 (PDT)","Date":"Tue, 21 Apr 2026 05:16:41 +0000","Mime-Version":"1.0","X-Mailer":"git-send-email 2.54.0.rc1.555.g9c883467ad-goog","Message-ID":"<20260421051641.370436-1-boolli@google.com>","To":"Tony Nguyen <anthony.l.nguyen@intel.com>,\n Przemek Kitszel <przemyslaw.kitszel@intel.com>,\n \"David S. Miller\" <davem@davemloft.net>,\n Jakub Kicinski <kuba@kernel.org>, Eric Dumazet <edumazet@google.com>,\n intel-wired-lan@lists.osuosl.org","Cc":"netdev@vger.kernel.org, linux-kernel@vger.kernel.org,\n David Decotigny <decot@google.com>,\n Anjali Singhai <anjali.singhai@intel.com>,\n Sridhar Samudrala <sridhar.samudrala@intel.com>,\n Brian Vazquez <brianvv@google.com>,\n Li Li <boolli@google.com>, emil.s.tantilov@intel.com, stable@vger.kernel.org","Content-Type":"text/plain; charset=\"UTF-8\"","X-Mailman-Original-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=google.com; s=20251104; t=1776748610; x=1777353410; darn=lists.osuosl.org;\n h=cc:to:from:subject:message-id:mime-version:date:from:to:cc:subject\n :date:message-id:reply-to;\n bh=7D53xtOFZWTTNmBFly2sMy6Aan/RQNTrroS2iD/6/Xo=;\n b=SkdTaGDYNQN2TuS9rQZHO1LkVRDB/3ISJbEQrvgV1+Ocn6fCf25y82Mu2OTdp2rmPw\n B8t5cvKnTj2NEW5XqzkwtjDvIXSojN3DOjqqVwjrVpvnPGyeN+p7AKAnW1l3TA+5aGRL\n pdA341g2hlwUlw2VxZ27gHJzzOVv+ZM3hXXiJivh+H9BUJcJitwM3fmiUex0VHxdXopq\n MyGofCQeqBilB/cHCmZDpGRVVVRXiKKGMXQpIam4k4KY8uyGNvp1mvWvwSCEyS9HfFOO\n SnsmLlOmp7RmLLLdVw3BA4s3M97Z0EDvCI28NXPzSCAEMVxFz79uePLUUrhaBXIpe32P\n 22HQ==","X-Mailman-Original-Authentication-Results":["smtp3.osuosl.org;\n dmarc=pass (p=reject dis=none)\n header.from=google.com","smtp3.osuosl.org;\n dkim=pass (2048-bit key,\n unprotected) header.d=google.com header.i=@google.com header.a=rsa-sha256\n header.s=20251104 header.b=SkdTaGDY"],"Subject":"[Intel-wired-lan] [PATCH iwl-net v2] idpf: do not perform flow ops\n when netdev is detached","X-BeenThere":"intel-wired-lan@osuosl.org","X-Mailman-Version":"2.1.30","Precedence":"list","List-Id":"Intel Wired Ethernet Linux Kernel Driver Development\n <intel-wired-lan.osuosl.org>","List-Unsubscribe":"<https://lists.osuosl.org/mailman/options/intel-wired-lan>,\n <mailto:intel-wired-lan-request@osuosl.org?subject=unsubscribe>","List-Archive":"<http://lists.osuosl.org/pipermail/intel-wired-lan/>","List-Post":"<mailto:intel-wired-lan@osuosl.org>","List-Help":"<mailto:intel-wired-lan-request@osuosl.org?subject=help>","List-Subscribe":"<https://lists.osuosl.org/mailman/listinfo/intel-wired-lan>,\n <mailto:intel-wired-lan-request@osuosl.org?subject=subscribe>","From":"Li Li via Intel-wired-lan <intel-wired-lan@osuosl.org>","Reply-To":"Li Li <boolli@google.com>","Errors-To":"intel-wired-lan-bounces@osuosl.org","Sender":"\"Intel-wired-lan\" <intel-wired-lan-bounces@osuosl.org>"},"content":"Even though commit 2e281e1155fc (\"idpf: detach and close netdevs while\nhandling a reset\") prevents ethtool -N/-n operations to operate on\ndetached netdevs, we found that out-of-tree workflows like OpenOnload\ncan bypass ethtool core locks and call idpf_set_rxnfc directly during\nan idpf HW reset. When this happens, we could get kernel crashes like\nthe following:\n\n[ 4045.787439] BUG: kernel NULL pointer dereference, address: 0000000000000070\n[ 4045.794420] #PF: supervisor read access in kernel mode\n[ 4045.799580] #PF: error_code(0x0000) - not-present page\n[ 4045.804739] PGD 0\n[ 4045.806772] Oops: Oops: 0000 [#1] SMP NOPTI\n...\n[ 4045.836425] Workqueue: onload-wqueue oof_do_deferred_work_fn [onload]\n[ 4045.842926] RIP: 0010:idpf_del_flow_steer+0x24/0x170 [idpf]\n...\n[ 4045.946323] Call Trace:\n[ 4045.948796]  <TASK>\n[ 4045.950915]  ? show_trace_log_lvl+0x1b0/0x2f0\n[ 4045.955293]  ? show_trace_log_lvl+0x1b0/0x2f0\n[ 4045.959672]  ? idpf_set_rxnfc+0x6f/0x80 [idpf]\n[ 4046.063613]  </TASK>\n\nTo prevent this, we need to add checks in idpf_set_rxnfc and\nidpf_get_rxnfc to error out if the netdev is already detached.\n\nTested: synthetically forced idpf into a HW reset by introducing module\nparameters to simulate a Tx timeout and force virtual channel\ninitialization failure. This was done by skipping completion cleaning for\nspecific queues and returning -EIO during core initialization.\nThe failure was then triggered by writing 1 to the corresponding sysfs\nparameters and calling idpf_get_rxnfc() during the reset process.\n\nWithout the patch: encountered NULL pointer and kernel crash.\n\nWith the patch: no crashes.\n\nFixes: 2e281e1155fc (\"idpf: detach and close netdevs while handling a reset\")\nCc: stable@vger.kernel.org\nSigned-off-by: Li Li <boolli@google.com>\n---\nv2:\n- Removed the raw code block from the commit message and replaced it with\n  a textual description of the test modifications.\n\n drivers/net/ethernet/intel/idpf/idpf_ethtool.c | 6 ++++++\n 1 file changed, 6 insertions(+)","diff":"diff --git a/drivers/net/ethernet/intel/idpf/idpf_ethtool.c b/drivers/net/ethernet/intel/idpf/idpf_ethtool.c\nindex bb99d9e7c65d..8368a7e6a754 100644\n--- a/drivers/net/ethernet/intel/idpf/idpf_ethtool.c\n+++ b/drivers/net/ethernet/intel/idpf/idpf_ethtool.c\n@@ -43,6 +43,9 @@ static int idpf_get_rxnfc(struct net_device *netdev, struct ethtool_rxnfc *cmd,\n \tunsigned int cnt = 0;\n \tint err = 0;\n \n+\tif (!netdev || !netif_device_present(netdev))\n+\t\treturn -ENODEV;\n+\n \tidpf_vport_ctrl_lock(netdev);\n \tvport = idpf_netdev_to_vport(netdev);\n \tvport_config = np->adapter->vport_config[np->vport_idx];\n@@ -349,6 +352,9 @@ static int idpf_set_rxnfc(struct net_device *netdev, struct ethtool_rxnfc *cmd)\n {\n \tint ret = -EOPNOTSUPP;\n \n+\tif (!netdev || !netif_device_present(netdev))\n+\t\treturn -ENODEV;\n+\n \tidpf_vport_ctrl_lock(netdev);\n \tswitch (cmd->cmd) {\n \tcase ETHTOOL_SRXCLSRLINS:\n","prefixes":["iwl-net","v2"]}