[{"id":3679233,"web_url":"http://patchwork.ozlabs.org/comment/3679233/","msgid":"<IA3PR11MB89864E6BED3A633061BB0A1FE52F2@IA3PR11MB8986.namprd11.prod.outlook.com>","list_archive_url":null,"date":"2026-04-20T06:20:26","subject":"Re: [Intel-wired-lan] [PATCH] idpf: do not perform flow ops when\n netdev is detached","submitter":{"id":75597,"url":"http://patchwork.ozlabs.org/api/people/75597/","name":"Loktionov, Aleksandr","email":"aleksandr.loktionov@intel.com"},"content":"> -----Original Message-----\n> From: Intel-wired-lan <intel-wired-lan-bounces@osuosl.org> On Behalf\n> Of Li Li via Intel-wired-lan\n> Sent: Sunday, April 19, 2026 9:26 PM\n> To: Nguyen, Anthony L <anthony.l.nguyen@intel.com>; Kitszel,\n> Przemyslaw <przemyslaw.kitszel@intel.com>; David S. Miller\n> <davem@davemloft.net>; Jakub Kicinski <kuba@kernel.org>; Eric Dumazet\n> <edumazet@google.com>; intel-wired-lan@lists.osuosl.org\n> Cc: netdev@vger.kernel.org; linux-kernel@vger.kernel.org; David\n> Decotigny <decot@google.com>; Singhai, Anjali\n> <anjali.singhai@intel.com>; Samudrala, Sridhar\n> <sridhar.samudrala@intel.com>; Brian Vazquez <brianvv@google.com>; Li\n> Li <boolli@google.com>; Tantilov, Emil S <emil.s.tantilov@intel.com>\n> Subject: [Intel-wired-lan] [PATCH] idpf: do not perform flow ops when\n> netdev is detached\n> \n> Even though commit 2e281e1155fc (\"idpf: detach and close netdevs while\n> handling a reset\") prevents ethtool -N/-n operations to operate on\n> detached netdevs, we found that out-of-tree workflows like OpenOnload\n> can bypass ethtool core locks and call idpf_set_rxnfc directly during\n> an idpf HW reset. When this happens, we could get kernel crashes like\n> the following:\n> \n> [ 4045.787439] BUG: kernel NULL pointer dereference, address:\n> 0000000000000070 [ 4045.794420] #PF: supervisor read access in kernel\n> mode [ 4045.799580] #PF: error_code(0x0000) - not-present page [\n> 4045.804739] PGD 0 [ 4045.806772] Oops: Oops: 0000 [#1] SMP NOPTI ...\n> [ 4045.836425] Workqueue: onload-wqueue oof_do_deferred_work_fn\n> [onload] [ 4045.842926] RIP: 0010:idpf_del_flow_steer+0x24/0x170\n> [idpf] ...\n> [ 4045.946323] Call Trace:\n> [ 4045.948796]  <TASK>\n> [ 4045.950915]  ? show_trace_log_lvl+0x1b0/0x2f0 [ 4045.955293]  ?\n> show_trace_log_lvl+0x1b0/0x2f0 [ 4045.959672]  ?\n> idpf_set_rxnfc+0x6f/0x80 [idpf] [ 4045.964142]  ?\n> __die_body.cold+0x8/0x12 [ 4045.968000]  ? page_fault_oops+0x148/0x160\n> [ 4045.972117]  ? exc_page_fault+0x6f/0x160 [ 4045.976060]  ?\n> asm_exc_page_fault+0x22/0x30 [ 4045.980262]  ?\n> idpf_del_flow_steer+0x24/0x170 [idpf] [ 4045.985245]\n> idpf_set_rxnfc+0x6f/0x80 [idpf] [ 4045.989535]\n> af_xdp_filter_remove+0x7c/0xb0 [sfc_resource] [ 4045.995069]\n> oo_hw_filter_clear_hwports+0x6f/0xa0 [onload] [ 4046.000589]\n> oo_hw_filter_update+0x65/0x210 [onload] [ 4046.005587]\n> oof_hw_filter_update.constprop.0+0xe7/0x140 [onload] [ 4046.011716]\n> oof_manager_update_all_filters+0xad/0x270 [onload] [ 4046.017671]\n> __oof_do_deferred_work+0x15e/0x190 [onload] [ 4046.023014]\n> oof_do_deferred_work+0x2c/0x40 [onload] [ 4046.028018]\n> oof_do_deferred_work_fn+0x12/0x30 [onload] [ 4046.033277]\n> process_one_work+0x174/0x330 [ 4046.037304]  worker_thread+0x246/0x390\n> [ 4046.041074]  ? __pfx_worker_thread+0x10/0x10 [ 4046.045364]\n> kthread+0xf6/0x240 [ 4046.048530]  ? __pfx_kthread+0x10/0x10 [\n> 4046.052297]  ret_from_fork+0x2d/0x50 [ 4046.055896]  ?\n> __pfx_kthread+0x10/0x10 [ 4046.059664]  ret_from_fork_asm+0x1a/0x30 [\n> 4046.063613]  </TASK>\n> \n> To prevent this, we need to add checks in idpf_set_rxnfc and\n> idpf_get_rxnfc to error out if the netdev is already detached.\n> \n> Tested: implemented the following patch to synthetically force idpf\n> into a HW reset:\n> \n> diff --git a/drivers/net/ethernet/intel/idpf/idpf_txrx.c\n> b/drivers/net/ethernet/intel/idpf/idpf_txrx.c\n> index 4fc0bb14c5b1..27476d57bcf0 100644\n> --- a/drivers/net/ethernet/intel/idpf/idpf_txrx.c\n> +++ b/drivers/net/ethernet/intel/idpf/idpf_txrx.c\n> @@ -10,6 +10,9 @@\n>  #define idpf_tx_buf_next(buf)\t\t(*(u32 *)&(buf)->priv)\n>  LIBETH_SQE_CHECK_PRIV(u32);\n> \n> +static bool SIMULATE_TX_TIMEOUT;\n> +module_param(SIMULATE_TX_TIMEOUT, bool, 0644);\n> +\n>  /**\n>   * idpf_chk_linearize - Check if skb exceeds max descriptors per\n> packet\n>   * @skb: send buffer\n> @@ -46,6 +49,8 @@ void idpf_tx_timeout(struct net_device *netdev,\n> unsigned int txqueue)\n> \n>  \tadapter->tx_timeout_count++;\n> \n> +\tSIMULATE_TX_TIMEOUT = false;\n> +\n>  \tnetdev_err(netdev, \"Detected Tx timeout: Count %d, Queue %d\\n\",\n>  \t\t   adapter->tx_timeout_count, txqueue);\n>  \tif (!idpf_is_reset_in_prog(adapter)) { @@ -2225,6 +2230,8 @@\n> static bool idpf_tx_clean_complq(struct idpf_compl_queue *complq, int\n> budget,\n>  \t\t\tgoto fetch_next_desc;\n>  \t\t}\n>  \t\ttx_q = complq->txq_grp->txqs[rel_tx_qid];\n> +\t\tif (unlikely(SIMULATE_TX_TIMEOUT && (tx_q->idx % 2 ==\n> 1)))\n> +\t\t\tgoto fetch_next_desc;\n> \n>  \t\t/* Determine completion type */\n>  \t\tctype = le16_get_bits(tx_desc->common.qid_comptype_gen,\n> diff --git a/drivers/net/ethernet/intel/idpf/idpf_virtchnl.c\n> b/drivers/net/ethernet/intel/idpf/idpf_virtchnl.c\n> index be66f9b2e101..ba5da2a86c15 100644\n> --- a/drivers/net/ethernet/intel/idpf/idpf_virtchnl.c\n> +++ b/drivers/net/ethernet/intel/idpf/idpf_virtchnl.c\n> @@ -8,6 +8,9 @@\n>  #include \"idpf_virtchnl.h\"\n>  #include \"idpf_ptp.h\"\n> \n> +static bool VIRTCHNL_FAILED;\n> +module_param(VIRTCHNL_FAILED, bool, 0644);\n> +\n>  /**\n>   * struct idpf_vc_xn_manager - Manager for tracking transactions\n>   * @ring: backing and lookup for transactions @@ -3496,6 +3499,11 @@\n> int idpf_vc_core_init(struct idpf_adapter *adapter)\n>  \t\tswitch (adapter->state) {\n>  \t\tcase __IDPF_VER_CHECK:\n>  \t\t\terr = idpf_send_ver_msg(adapter);\n> +\n> +\t\t\tif (unlikely(VIRTCHNL_FAILED)) {\n> +\t\t\t\terr = -EIO;\n> +\t\t\t}\n> +\n>  \t\t\tswitch (err) {\n>  \t\t\tcase 0:\n>  \t\t\t\t/* success, move state machine forward */\n> \n> And tested by writing 1 to /sys/module/idpf/parameters/VIRTCHNL_FAILED\n> and /sys/module/idpf/parameters/SIMULATE_TX_TIMEOUT, and running\n> idpf_get_rxnfc() right after the HW reset.\n> \n> Without the patch: encountered NULL pointer and kernel crash.\n> \n> With the patch: no crashes.\n> \n> Fixes: 2e281e1155fc (\"idpf: detach and close netdevs while handling a\n> reset\")\n> Signed-off-by: Li Li <boolli@google.com>\n> ---\n>  drivers/net/ethernet/intel/idpf/idpf_ethtool.c | 6 ++++++\n>  1 file changed, 6 insertions(+)\n> \n> diff --git a/drivers/net/ethernet/intel/idpf/idpf_ethtool.c\n> b/drivers/net/ethernet/intel/idpf/idpf_ethtool.c\n> index 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,\n> 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\n> *netdev, struct ethtool_rxnfc *cmd)  {\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> --\n> 2.54.0.rc1.513.gad8abe7a5a-goog\n\nPlease add Cc: stable@vger.kernel.org\n\nReviewed-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>","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=3E2lc+Zz;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=osuosl.org\n (client-ip=140.211.166.138; helo=smtp1.osuosl.org;\n envelope-from=intel-wired-lan-bounces@osuosl.org;\n receiver=patchwork.ozlabs.org)"],"Received":["from smtp1.osuosl.org (smtp1.osuosl.org [140.211.166.138])\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 4fzb2c3h99z1yGs\n\tfor <incoming@patchwork.ozlabs.org>; Mon, 20 Apr 2026 16:20:38 +1000 (AEST)","from localhost (localhost [127.0.0.1])\n\tby smtp1.osuosl.org (Postfix) with ESMTP id DBBF180D3E;\n\tMon, 20 Apr 2026 06:20:35 +0000 (UTC)","from smtp1.osuosl.org ([127.0.0.1])\n by localhost (smtp1.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP\n id dNUOJC2MSpqC; Mon, 20 Apr 2026 06:20:35 +0000 (UTC)","from lists1.osuosl.org (lists1.osuosl.org [140.211.166.142])\n\tby smtp1.osuosl.org (Postfix) with ESMTP id 0DDBA80CCD;\n\tMon, 20 Apr 2026 06:20:35 +0000 (UTC)","from smtp3.osuosl.org (smtp3.osuosl.org [140.211.166.136])\n by lists1.osuosl.org (Postfix) with ESMTP id AC787355\n for <intel-wired-lan@lists.osuosl.org>; Mon, 20 Apr 2026 06:20:33 +0000 (UTC)","from localhost (localhost [127.0.0.1])\n by smtp3.osuosl.org (Postfix) with ESMTP id 9251B60860\n for <intel-wired-lan@lists.osuosl.org>; Mon, 20 Apr 2026 06:20:33 +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 TE-MjgL2B0AE for <intel-wired-lan@lists.osuosl.org>;\n Mon, 20 Apr 2026 06:20:32 +0000 (UTC)","from mgamail.intel.com (mgamail.intel.com [192.198.163.12])\n by smtp3.osuosl.org (Postfix) with ESMTPS id 838A260845\n for <intel-wired-lan@lists.osuosl.org>; Mon, 20 Apr 2026 06:20:32 +0000 (UTC)","from fmviesa004.fm.intel.com ([10.60.135.144])\n by fmvoesa106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 19 Apr 2026 23:20:31 -0700","from fmsmsx903.amr.corp.intel.com ([10.18.126.92])\n by fmviesa004.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 19 Apr 2026 23:20:31 -0700","from FMSMSX902.amr.corp.intel.com (10.18.126.91) by\n fmsmsx903.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server\n (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.2.2562.37; Sun, 19 Apr 2026 23:20:31 -0700","from fmsedg902.ED.cps.intel.com (10.1.192.144) by\n FMSMSX902.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server\n (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.2.2562.37 via Frontend Transport; Sun, 19 Apr 2026 23:20:31 -0700","from BN8PR05CU002.outbound.protection.outlook.com (52.101.57.34) by\n edgegateway.intel.com (192.55.55.82) with Microsoft SMTP Server\n (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.2.2562.37; Sun, 19 Apr 2026 23:20:30 -0700","from IA3PR11MB8986.namprd11.prod.outlook.com (2603:10b6:208:577::21)\n by DM4PR11MB6019.namprd11.prod.outlook.com (2603:10b6:8:60::5) with\n Microsoft\n SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.20.9846.14; Mon, 20 Apr 2026 06:20:27 +0000","from IA3PR11MB8986.namprd11.prod.outlook.com\n ([fe80::e6f0:6afb:6ef9:ab5c]) by IA3PR11MB8986.namprd11.prod.outlook.com\n ([fe80::e6f0:6afb:6ef9:ab5c%5]) with mapi id 15.20.9818.017; Mon, 20 Apr 2026\n 06:20:27 +0000"],"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 smtp1.osuosl.org 0DDBA80CCD","OpenDKIM Filter v2.11.0 smtp3.osuosl.org 838A260845"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=osuosl.org;\n\ts=default; t=1776666035;\n\tbh=uQnpDAA9+DppkToNqEZgsBwHOTmD8yr/luCyRA3ifc0=;\n\th=From:To:CC:Date:References:In-Reply-To:Subject:List-Id:\n\t List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe:\n\t From;\n\tb=3E2lc+ZzUmpG4Lrqj72KgnqbMTHozyjkb4UNsiyMf7H2UviHIRXF3Au+l0iqE3FU7\n\t ZjVAo9BQl3eQQnFccrcrFZSWJaqO7SRHpsgIMw1AYbxqnc9nHYtlTqixEGPz/zPhwK\n\t K3SYHxc0BZB9yN9ZADCwe1KIdvWR1n6mqEjPj3GrAI/5aYGMgxFbGM0sBj4HTIfDR7\n\t Ge+f9N4pA22fynATXneAnp/Fvh3iFy7ulJT6OGloy+g5/BzOGdpvR4kq9OOCvopOIQ\n\t wKUDmGJ2DV7/1BYfDEeAGt1/6L5tyOvMpnEbU2xPnTOjxfGTJCjdeJ8qPjff+mGlPN\n\t w9sGBAyrFXDYg==","Received-SPF":"Pass (mailfrom) identity=mailfrom; client-ip=192.198.163.12;\n helo=mgamail.intel.com; envelope-from=aleksandr.loktionov@intel.com;\n receiver=<UNKNOWN>","DMARC-Filter":"OpenDMARC Filter v1.4.2 smtp3.osuosl.org 838A260845","X-CSE-ConnectionGUID":["O3P4e9IkRwiUA/eA0AqYqA==","A9wVwgTkTwq5r33x/mN9oQ=="],"X-CSE-MsgGUID":["EkEYgxO6SoODbzuAnBFWoA==","go0nOc1UTCSpTJJQsSQ5tA=="],"X-IronPort-AV":["E=McAfee;i=\"6800,10657,11762\"; a=\"81452472\"","E=Sophos;i=\"6.23,189,1770624000\"; d=\"scan'208\";a=\"81452472\"","E=Sophos;i=\"6.23,189,1770624000\"; d=\"scan'208\";a=\"233393129\""],"X-ExtLoop1":"1","ARC-Seal":"i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=OyNH3DfzXkL+xBr3IyvNjGvwv9FEFKParEWCbbpP1miSKvOQVj/m8hJbS54P5cfZSe6c7rYnRG0j72Ptt7ErXASzPLkC2jrSkhqeI5tNneJi41PD0UbkHaRnjmr99Wokspa0SDZVp1MkT9WmAsuKqr4OdW7eRt+ptC63Yt6D093I9V4ojhHOxAkM7g2EX6pnbID0tZeuxh7+UFd2Npeb5xXPjiSUKicCxb496Dp1T2Pmz2ieGuflrUn1qH6pwwlEuRcTPR3UbyxSBoMx+zHMTr+jqStqByocyIVofLrVRV20RdqqJps14nUb8pShPTPo25sfu/+LOvSWihY3CaXHhQ==","ARC-Message-Signature":"i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector10001;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;\n bh=uQnpDAA9+DppkToNqEZgsBwHOTmD8yr/luCyRA3ifc0=;\n b=R7biVa9VuSW5Nb6M58/iXXEjtn/LVKsTn1IT6q6yawCvIOhTXvjUjGmGyFYDZFdWzwReNvx1dIk0dq45ycJWiRZq2qQ6abfN+RNa3aEEpEXqDMxOr4aAPEusQuI7Bw0Gk8Yuciy2rZnZG/zOC6xOPZSwGXt3PpRno9u4a5Jz8wjmaC0RJvB72+f1bmc1GHdqWKSuEPYzY0vb57SA18tRvNve0b2n6kY9rvAusVTTyvzJCfnb8goVhVCeMx/scUGw61l1H1gnHae0huYJXH1Iq/Evbyjd5RQumti2oS4EZZlrk4qaGV4pXJyQjS2HTiPmqfNhcrr7XuEMZmU71DvD9Q==","ARC-Authentication-Results":"i=1; mx.microsoft.com 1; spf=pass\n smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com;\n dkim=pass header.d=intel.com; arc=none","From":"\"Loktionov, Aleksandr\" <aleksandr.loktionov@intel.com>","To":"Li Li <boolli@google.com>, \"Nguyen, Anthony L\"\n <anthony.l.nguyen@intel.com>, \"Kitszel, Przemyslaw\"\n <przemyslaw.kitszel@intel.com>, \"David S. Miller\" <davem@davemloft.net>,\n Jakub Kicinski <kuba@kernel.org>, Eric Dumazet <edumazet@google.com>,\n \"intel-wired-lan@lists.osuosl.org\" <intel-wired-lan@lists.osuosl.org>","CC":"\"netdev@vger.kernel.org\" <netdev@vger.kernel.org>,\n \"linux-kernel@vger.kernel.org\" <linux-kernel@vger.kernel.org>, \"David\n Decotigny\" <decot@google.com>, \"Singhai, Anjali\" <anjali.singhai@intel.com>,\n \"Samudrala, Sridhar\" <sridhar.samudrala@intel.com>, Brian Vazquez\n <brianvv@google.com>, \"Tantilov, Emil S\" <emil.s.tantilov@intel.com>","Thread-Topic":"[Intel-wired-lan] [PATCH] idpf: do not perform flow ops when\n netdev is detached","Thread-Index":"AQHc0DJ5cZPN0AWnmU2brYOcqUuVYbXnesCQ","Date":"Mon, 20 Apr 2026 06:20:26 +0000","Message-ID":"\n <IA3PR11MB89864E6BED3A633061BB0A1FE52F2@IA3PR11MB8986.namprd11.prod.outlook.com>","References":"<20260419192555.3631327-1-boolli@google.com>","In-Reply-To":"<20260419192555.3631327-1-boolli@google.com>","Accept-Language":"en-US","Content-Language":"en-US","X-MS-Has-Attach":"","X-MS-TNEF-Correlator":"","x-ms-publictraffictype":"Email","x-ms-traffictypediagnostic":"IA3PR11MB8986:EE_|DM4PR11MB6019:EE_","x-ms-office365-filtering-correlation-id":"a3d0bd3c-be19-4a20-9f14-08de9ea4e9f3","x-ms-exchange-senderadcheck":"1","x-ms-exchange-antispam-relay":"0","x-microsoft-antispam":"BCL:0;\n ARA:13230040|366016|1800799024|376014|18002099003|38070700021|56012099003|22082099003;","x-microsoft-antispam-message-info":"\n 9Iy5r9BSUsoFzVMLRZZhfmqAki8jW1+9dMG0YHL6afzFY1c1cBwwCn3HceNy/wczpthTZiJ+YfkxBJSncZrWC2IywUPnpxvjjIT89qDyI/PvnAgXW4TRiWg64mFvLdtKhW2niWVhQ0gsUTqRrbqAw4f/i1oOdQYt6imfIkbC7zUSqolX3pUB11lQAJn9sOmfk/OF94a/f44WGFWjMyg7iqUe1PoJgBIjRNGc+0FkohExIIj2nHJnf/kIqeJ3iVHI4PdKnyE9mwyo7FCNsJ9ei4L+YABWkgVzLPgqrRr1r2NNIUMn1rnLEIAMFsOtSKYVqLZI1QQBefxV5RvPWIuhUmmUvbxSFYUv5x8sHFTn5oDRL4zo19No6J7yFa/0XvabA7w2zvPhk9l0W344aSdTQ8oLMHa+OtChK0rbufhA8P/kM3BE0Xm0RLiwbItsqEXaBCBlNGUAhdVU6Ii+bt+xXaSXILghl95mBQz157m9kNGNaMBbTELVSFf5Gq6pBIhC/609KUsGa2j7U/rmJO+loVZwYuYgM8A83iA9AkAezkL1rF5YkXYoUZipnqbV5bYUCbGQWnzhUC9zVKai+Ug2DQsyOGs63cd+c80UBPM6U09dpXMqRTuiWvE/G/5JrHd7TcGGOB7ZG7aW9zSmK3v3ImEHhDy0T+H3DLkkzo7l7EITKwVFmCHgsE1GLWjfyOhsdszqwGtNyeEMLeKR+Te9Ylyq6tS0AGGbY0OTRUhfMIFmB4itdklOtL6WYV7hB59F1zCoiVsOK2ag2gSEGyGFwmi9VLCGKCEoZXrPiALwvBo=","x-forefront-antispam-report":"CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;\n IPV:NLI; SFV:NSPM; H:IA3PR11MB8986.namprd11.prod.outlook.com; PTR:; CAT:NONE;\n SFS:(13230040)(366016)(1800799024)(376014)(18002099003)(38070700021)(56012099003)(22082099003);\n DIR:OUT; SFP:1101;","x-ms-exchange-antispam-messagedata-chunkcount":"1","x-ms-exchange-antispam-messagedata-0":"=?utf-8?q?FuRAVkQ5hETq4m3/Nx9ajOKkIQaO?=\n\t=?utf-8?q?vHJHBpAnL6h4pTuqF4U0PORzNzLQ+3Fe5fb5glpxiAs9yqwBUzJHaPrqwKcMfbpuD?=\n\t=?utf-8?q?yG63CJ5U9I/ZofzkyacgklAqRLM/mcdOECY5Vbgsw5yXoPvn69zlDF+StBOv+y51i?=\n\t=?utf-8?q?+RxEMMiUBEo+YWqZk7bkk69CFlSRkgqvYp9pVLYNMJixNmwD1UeLWS2NRBUIIZdRc?=\n\t=?utf-8?q?2S9rLSr8CX17mKTYyrj1NmzpOghrPSmZTldYYod0+c38v9fiSg2tpNfcPJOl6Bsi+?=\n\t=?utf-8?q?DbhkMH7izD3R6q/oOkj4sX87IUqbd46LcTdCOCkByijHNwQ4Nan9WvWh7T3d1T2wX?=\n\t=?utf-8?q?MgKf1A3dxK3WAyWvBKkTthbUaNC37PNTCRctsE40yonHvdirsNG6k3NqcVIRbd1Jy?=\n\t=?utf-8?q?ISHHazFhxiyVtH8tJntX8GpBM6srNqYKerIn2MFsWyObgii1V7gKoZevj83ZhblLG?=\n\t=?utf-8?q?aWCWmXkzdmO6fCepbi1rzcezKHNKLlBchJdRcjJgk+2DvBUX2YT3gps7vm8BCTaSS?=\n\t=?utf-8?q?Daq5yYNV34WVrQuF583ypVfNtdWWoaM/DxNPHATUvICTpxh8S0KShsZxUFCBGtczO?=\n\t=?utf-8?q?FXZiMfTq3UnNrBs1oCAfIR3Vtz72Uu4PhCUTg5ohMOWcDze6O2qqmpDUI74IUI7Dk?=\n\t=?utf-8?q?DtSDjwU5ARMewVlJkZIYoZsKwaaNfLAW0tUJhQbosEHwW/bZ3at2grul3PraBQWBZ?=\n\t=?utf-8?q?KE/NpZ+5yrTaVfSKRawgR3tmEzLEARdKxLPBlLkgPXK1ToTCtDF6tEQwB7/hmi0mg?=\n\t=?utf-8?q?Q37BrPRIUv4JXIpjineLua9/Dwywgc+4Rn8kdiXSGkLAdPeQKD+/5w8VZWjE2lPlL?=\n\t=?utf-8?q?Iy+OW2Sc6ely4AjqrPGPuBRxlZyc4vBhhuGsjhtfXYjg5AumTuuFf1zk0mzIRee5T?=\n\t=?utf-8?q?RaQ3WGXOVEaTu5VkKKt3w0e/I3aqCsAkXWN3QDBhq9/Dk91A3juHxhdekND39zS+l?=\n\t=?utf-8?q?59SnwGlmEbNsjAxDoJPIbGg9/OEyGsM5SS9LTye7S1crkea3SwA+PUAroQzq2Ui0A?=\n\t=?utf-8?q?ayjSDgnnQPWsnNUtfSa1M0Eujt3Pm5v9L5nnw+RlZdrA/tRYfXHWN7JHNUY2Yrk1G?=\n\t=?utf-8?q?nJ3gPaO5d/qYbgy5BM0STqE1KmovrfLpcvBqYpIbcjEoALZ+B7ixBAsqP08kmsccg?=\n\t=?utf-8?q?Z1Ap7Y9/WQ138Y5L8B5VWf4nQxtzPZDW5ZZRAn2hMz2mLv2X9P8wjSWZGJFYw3PYN?=\n\t=?utf-8?q?UzU4GWfwF+nmrNqwAfuZ4eWNftyTgzjdLdQG1N/ChdXyGqqHUQhg3OIi1c9NkF1nr?=\n\t=?utf-8?q?FVeULkglTSq9FTWhmTzILAOMj4XWb1hG0o+CTkqD7aeu1Hcif1vPEWsEUOzKwHNrG?=\n\t=?utf-8?q?SCnWf04bzGG6QlRFjxMK7K1veJzzwyRCEaTiWN1Y+ejMpRRFhzAZHiSrLw9jmPTHI?=\n\t=?utf-8?q?148dxMRTu0DPhjwzOqfyI9GtmFZRQLpi9jSXXVOUi8i1GozfOAbctIEcf1KKjgg5T?=\n\t=?utf-8?q?BCH8x1mrkiZmxyQuH5b8nBHRjzwaPMN8In7DyfMguhl+6mxOyMo0D071uOQdO+Ots?=\n\t=?utf-8?q?VhcNxkjhGM/nwQ/w1PRFbgZZ0ZoMak74S8TJtMpnXyw1s+jQ0nzrxoFvRqt6MSkYh?=\n\t=?utf-8?q?TP0DGQ7ybMOjMWmYbKDimycr3x0yFUYeRVelNk+MFMJcmkfo0YE9CO1KVhNM1oyBT?=\n\t=?utf-8?q?CCNuZakWQK3jEELtU5EMR3zYVO9c+CR2QVxzpLMwitGoZGH+VcBgo=3D?=","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"base64","MIME-Version":"1.0","X-Exchange-RoutingPolicyChecked":"\n I2KrrNjI/lLGL8Rd7yCQKVy33/dKBB6xo6kNq9CCU/gyk5HOAbZ81P1fl+PxWIjbtSn2FPMqrK8HhyGo/M19h0s/72CGcJkNMyjixyajfbss7mQBtxTxsNyjLdPdjp/NT0WrX+pwadwNGHuYgdAKN2xxaVR0qzmkbs86+fmwkt/CIvFj79y4UGeR17xBKO8KesOgkGx7VZZ6xA1wWxJefxO00Iii/JnRnnxYD8SYcG8kX7Jda048GdLj1UCwwJiF7NDKTdmDYPGb7eqtXlVbJKJUQdr/nSgM8bJs2d1ux8+iVMEjQ8pl01s50S4bK7C9VMQIGQS4of2q79VlVmsKFQ==","X-MS-Exchange-CrossTenant-AuthAs":"Internal","X-MS-Exchange-CrossTenant-AuthSource":"IA3PR11MB8986.namprd11.prod.outlook.com","X-MS-Exchange-CrossTenant-Network-Message-Id":"\n a3d0bd3c-be19-4a20-9f14-08de9ea4e9f3","X-MS-Exchange-CrossTenant-originalarrivaltime":"20 Apr 2026 06:20:26.9949 (UTC)","X-MS-Exchange-CrossTenant-fromentityheader":"Hosted","X-MS-Exchange-CrossTenant-id":"46c98d88-e344-4ed4-8496-4ed7712e255d","X-MS-Exchange-CrossTenant-mailboxtype":"HOSTED","X-MS-Exchange-CrossTenant-userprincipalname":"\n ynlx87RgqPTIQGdBlGpjjOmIhiB4NJWLOoW0gP0/FuJ6l7u7ytSVuzA0Vg7idqtaZKU6wDP4pJqUIBA9ft9NOl/T3A0MwTFOsaY2EjbS83E=","X-MS-Exchange-Transport-CrossTenantHeadersStamped":"DM4PR11MB6019","X-OriginatorOrg":"intel.com","X-Mailman-Original-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple;\n d=intel.com; i=@intel.com; q=dns/txt; s=Intel;\n t=1776666032; x=1808202032;\n h=from:to:cc:subject:date:message-id:references:\n in-reply-to:content-transfer-encoding:mime-version;\n bh=uQnpDAA9+DppkToNqEZgsBwHOTmD8yr/luCyRA3ifc0=;\n b=E9dPV3a8WhoarGK34IWq6XrgdBw9d25k5pBCHlU0pJDvOtzO1h5zyV9t\n QuYefWMi3oxEtjKM8FiAjgf6rY0KkjCAGD1XagZ4PVOnB8AT8FAVelAAf\n eB+TN5ACoqeNSUGyFBbTxfvbt9q7BJ0Iv78idu469DVm/ktxlhHcjY3ad\n 0XDXRrcCHxM4GYIRMpWIgBcqd8MgxD+h/aksWjyL3EaZnMnNJpfQcESb4\n nGeXT44HAiYSOuHqnL+Y9R4+PhvHR4eaLC1AIWgboPHJxwGGWHli2F87J\n 0Jiqbbi3OB6edup/a1r11VpiVq2n2HUMpKgxtczP66Plozbo8xssX920t\n Q==;","X-Mailman-Original-Authentication-Results":["smtp3.osuosl.org;\n dmarc=pass (p=none dis=none)\n header.from=intel.com","smtp3.osuosl.org;\n dkim=pass (2048-bit key,\n unprotected) header.d=intel.com header.i=@intel.com header.a=rsa-sha256\n header.s=Intel header.b=E9dPV3a8","dkim=none (message not signed)\n header.d=none;dmarc=none action=none header.from=intel.com;"],"Subject":"Re: [Intel-wired-lan] [PATCH] idpf: do not perform flow ops when\n 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>","Errors-To":"intel-wired-lan-bounces@osuosl.org","Sender":"\"Intel-wired-lan\" <intel-wired-lan-bounces@osuosl.org>"}},{"id":3679285,"web_url":"http://patchwork.ozlabs.org/comment/3679285/","msgid":"<PH7PR11MB59834C3C7785D1E69B7E954EF32F2@PH7PR11MB5983.namprd11.prod.outlook.com>","list_archive_url":null,"date":"2026-04-20T08:22:48","subject":"Re: [Intel-wired-lan] [PATCH] idpf: do not perform flow ops when\n netdev is detached","submitter":{"id":76726,"url":"http://patchwork.ozlabs.org/api/people/76726/","name":"Kwapulinski, Piotr","email":"piotr.kwapulinski@intel.com"},"content":">-----Original Message-----\n>From: Intel-wired-lan <intel-wired-lan-bounces@osuosl.org> On Behalf Of Li Li via Intel-wired-lan\n>Sent: Sunday, April 19, 2026 9:26 PM\n>To: Nguyen, Anthony L <anthony.l.nguyen@intel.com>; Kitszel, Przemyslaw <przemyslaw.kitszel@intel.com>; David S. Miller <davem@davemloft.net>; Jakub Kicinski <kuba@kernel.org>; Eric Dumazet <edumazet@google.com>; intel-wired-lan@lists.osuosl.org\n>Cc: netdev@vger.kernel.org; linux-kernel@vger.kernel.org; David Decotigny <decot@google.com>; Singhai, Anjali <anjali.singhai@intel.com>; Samudrala, Sridhar <sridhar.samudrala@intel.com>; Brian Vazquez <brianvv@google.com>; Li Li <boolli@google.com>; Tantilov, Emil S <emil.s.tantilov@intel.com>\n>Subject: [Intel-wired-lan] [PATCH] idpf: do not perform flow ops when netdev is detached\n>\n>Even though commit 2e281e1155fc (\"idpf: detach and close netdevs while handling a reset\") prevents ethtool -N/-n operations to operate on detached netdevs, we found that out-of-tree workflows like OpenOnload can bypass ethtool core locks and call idpf_set_rxnfc directly during an idpf HW reset. When this happens, we could get kernel crashes like the following:\n>\n>[ 4045.787439] BUG: kernel NULL pointer dereference, address: 0000000000000070 [ 4045.794420] #PF: supervisor read access in kernel mode [ 4045.799580] #PF: error_code(0x0000) - not-present page [ 4045.804739] PGD 0 [ 4045.806772] Oops: Oops: 0000 [#1] SMP NOPTI ...\n>[ 4045.836425] Workqueue: onload-wqueue oof_do_deferred_work_fn [onload] [ 4045.842926] RIP: 0010:idpf_del_flow_steer+0x24/0x170 [idpf] ...\n>[ 4045.946323] Call Trace:\n>[ 4045.948796]  <TASK>\n>[ 4045.950915]  ? show_trace_log_lvl+0x1b0/0x2f0 [ 4045.955293]  ? show_trace_log_lvl+0x1b0/0x2f0 [ 4045.959672]  ? idpf_set_rxnfc+0x6f/0x80 [idpf] [ 4045.964142]  ? __die_body.cold+0x8/0x12 [ 4045.968000]  ? page_fault_oops+0x148/0x160 [ 4045.972117]  ? exc_page_fault+0x6f/0x160 [ 4045.976060]  ? asm_exc_page_fault+0x22/0x30 [ 4045.980262]  ? idpf_del_flow_steer+0x24/0x170 [idpf] [ 4045.985245]  idpf_set_rxnfc+0x6f/0x80 [idpf] [ 4045.989535]  af_xdp_filter_remove+0x7c/0xb0 [sfc_resource] [ 4045.995069]  oo_hw_filter_clear_hwports+0x6f/0xa0 [onload] [ 4046.000589]  oo_hw_filter_update+0x65/0x210 [onload] [ 4046.005587]  oof_hw_filter_update.constprop.0+0xe7/0x140 [onload] [ 4046.011716]  oof_manager_update_all_filters+0xad/0x270 [onload] [ 4046.017671]  __oof_do_deferred_work+0x15e/0x190 [onload] [ 4046.023014]  oof_do_deferred_work+0x2c/0x40 [onload] [ 4046.028018]  oof_do_deferred_work_fn+0x12/0x30 [onload] [ 4046.033277]  process_one_work+0x174/0x330 [ 4046.037304]  worker_thread+0x246/0x390 [ 4046.041074]  ? __pfx_worker_thread+0x10/0x10 [ 4046.045364]  kthread+0xf6/0x240 [ 4046.048530]  ? __pfx_kthread+0x10/0x10 [ 4046.052297]  ret_from_fork+0x2d/0x50 [ 4046.055896]  ? __pfx_kthread+0x10/0x10 [ 4046.059664]  ret_from_fork_asm+0x1a/0x30 [ 4046.063613]  </TASK>\n>\n>To prevent this, we need to add checks in idpf_set_rxnfc and idpf_get_rxnfc to error out if the netdev is already detached.\n>\n>Tested: implemented the following patch to synthetically force idpf into a HW reset:\n>\n>diff --git a/drivers/net/ethernet/intel/idpf/idpf_txrx.c b/drivers/net/ethernet/intel/idpf/idpf_txrx.c\n>index 4fc0bb14c5b1..27476d57bcf0 100644\n>--- a/drivers/net/ethernet/intel/idpf/idpf_txrx.c\n>+++ b/drivers/net/ethernet/intel/idpf/idpf_txrx.c\n>@@ -10,6 +10,9 @@\n> #define idpf_tx_buf_next(buf)\t\t(*(u32 *)&(buf)->priv)\n> LIBETH_SQE_CHECK_PRIV(u32);\n>\n>+static bool SIMULATE_TX_TIMEOUT;\n>+module_param(SIMULATE_TX_TIMEOUT, bool, 0644);\n>+\n> /**\n>  * idpf_chk_linearize - Check if skb exceeds max descriptors per packet\n>  * @skb: send buffer\n>@@ -46,6 +49,8 @@ void idpf_tx_timeout(struct net_device *netdev, unsigned int txqueue)\n>\n> \tadapter->tx_timeout_count++;\n>\n>+\tSIMULATE_TX_TIMEOUT = false;\n>+\n> \tnetdev_err(netdev, \"Detected Tx timeout: Count %d, Queue %d\\n\",\n> \t\t   adapter->tx_timeout_count, txqueue);\n> \tif (!idpf_is_reset_in_prog(adapter)) { @@ -2225,6 +2230,8 @@ static bool idpf_tx_clean_complq(struct idpf_compl_queue *complq, int budget,\n> \t\t\tgoto fetch_next_desc;\n> \t\t}\n> \t\ttx_q = complq->txq_grp->txqs[rel_tx_qid];\n>+\t\tif (unlikely(SIMULATE_TX_TIMEOUT && (tx_q->idx % 2 == 1)))\n>+\t\t\tgoto fetch_next_desc;\n>\n> \t\t/* Determine completion type */\n> \t\tctype = le16_get_bits(tx_desc->common.qid_comptype_gen,\n>diff --git a/drivers/net/ethernet/intel/idpf/idpf_virtchnl.c b/drivers/net/ethernet/intel/idpf/idpf_virtchnl.c\n>index be66f9b2e101..ba5da2a86c15 100644\n>--- a/drivers/net/ethernet/intel/idpf/idpf_virtchnl.c\n>+++ b/drivers/net/ethernet/intel/idpf/idpf_virtchnl.c\n>@@ -8,6 +8,9 @@\n> #include \"idpf_virtchnl.h\"\n> #include \"idpf_ptp.h\"\n>\n>+static bool VIRTCHNL_FAILED;\n>+module_param(VIRTCHNL_FAILED, bool, 0644);\n>+\n> /**\n>  * struct idpf_vc_xn_manager - Manager for tracking transactions\n>  * @ring: backing and lookup for transactions @@ -3496,6 +3499,11 @@ int idpf_vc_core_init(struct idpf_adapter *adapter)\n> \t\tswitch (adapter->state) {\n> \t\tcase __IDPF_VER_CHECK:\n> \t\t\terr = idpf_send_ver_msg(adapter);\n>+\n>+\t\t\tif (unlikely(VIRTCHNL_FAILED)) {\n>+\t\t\t\terr = -EIO;\n>+\t\t\t}\nPlease remove redundant parenthesis\nPiotr\n\n>+\n> \t\t\tswitch (err) {\n> \t\t\tcase 0:\n> \t\t\t\t/* success, move state machine forward */\n>\n>And tested by writing 1 to /sys/module/idpf/parameters/VIRTCHNL_FAILED\n>and /sys/module/idpf/parameters/SIMULATE_TX_TIMEOUT, and running\n>idpf_get_rxnfc() right after the HW reset.\n>\n>Without the patch: encountered NULL pointer and kernel crash.\n>\n>With the patch: no crashes.\n>\n>Fixes: 2e281e1155fc (\"idpf: detach and close netdevs while handling a reset\")\n>Signed-off-by: Li Li <boolli@google.com>\n>---\n> drivers/net/ethernet/intel/idpf/idpf_ethtool.c | 6 ++++++\n> 1 file changed, 6 insertions(+)\n>\n>diff --git a/drivers/net/ethernet/intel/idpf/idpf_ethtool.c b/drivers/net/ethernet/intel/idpf/idpf_ethtool.c\n>index 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> \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>--\n>2.54.0.rc1.513.gad8abe7a5a-goog","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=3Mka0uou;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=osuosl.org\n (client-ip=2605:bc80:3010::136; helo=smtp3.osuosl.org;\n envelope-from=intel-wired-lan-bounces@osuosl.org;\n receiver=patchwork.ozlabs.org)"],"Received":["from smtp3.osuosl.org (smtp3.osuosl.org [IPv6:2605:bc80:3010::136])\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 4fzdlt1Pzfz1yD4\n\tfor <incoming@patchwork.ozlabs.org>; Mon, 20 Apr 2026 18:23:03 +1000 (AEST)","from localhost (localhost [127.0.0.1])\n\tby smtp3.osuosl.org (Postfix) with ESMTP id DEE966106F;\n\tMon, 20 Apr 2026 08:23:01 +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 3nSQXTabNOs0; Mon, 20 Apr 2026 08:23:01 +0000 (UTC)","from lists1.osuosl.org (lists1.osuosl.org [140.211.166.142])\n\tby smtp3.osuosl.org (Postfix) with ESMTP id 003A260AA9;\n\tMon, 20 Apr 2026 08:23:00 +0000 (UTC)","from smtp2.osuosl.org (smtp2.osuosl.org [140.211.166.133])\n by lists1.osuosl.org (Postfix) with ESMTP id 8D4A1259\n for <intel-wired-lan@lists.osuosl.org>; Mon, 20 Apr 2026 08:22:59 +0000 (UTC)","from localhost (localhost [127.0.0.1])\n by smtp2.osuosl.org (Postfix) with ESMTP id 8AB764010D\n for <intel-wired-lan@lists.osuosl.org>; Mon, 20 Apr 2026 08:22:59 +0000 (UTC)","from smtp2.osuosl.org ([127.0.0.1])\n by localhost (smtp2.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP\n id EEGDhWt8JDQq for <intel-wired-lan@lists.osuosl.org>;\n Mon, 20 Apr 2026 08:22:58 +0000 (UTC)","from mgamail.intel.com (mgamail.intel.com [192.198.163.15])\n by smtp2.osuosl.org (Postfix) with ESMTPS id BC38B40024\n for <intel-wired-lan@lists.osuosl.org>; Mon, 20 Apr 2026 08:22:58 +0000 (UTC)","from fmviesa010.fm.intel.com ([10.60.135.150])\n by fmvoesa109.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 20 Apr 2026 01:22:57 -0700","from orsmsx903.amr.corp.intel.com ([10.22.229.25])\n by fmviesa010.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 20 Apr 2026 01:22:57 -0700","from ORSMSX901.amr.corp.intel.com (10.22.229.23) by\n ORSMSX903.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server\n (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.2.2562.37; Mon, 20 Apr 2026 01:22:56 -0700","from ORSEDG903.ED.cps.intel.com (10.7.248.13) by\n ORSMSX901.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server\n (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.2.2562.37 via Frontend Transport; Mon, 20 Apr 2026 01:22:56 -0700","from CH5PR02CU005.outbound.protection.outlook.com (40.107.200.52) by\n edgegateway.intel.com (134.134.137.113) with Microsoft SMTP Server\n (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.2.2562.37; Mon, 20 Apr 2026 01:22:55 -0700","from PH7PR11MB5983.namprd11.prod.outlook.com (2603:10b6:510:1e2::13)\n by CH3PR11MB7370.namprd11.prod.outlook.com (2603:10b6:610:14e::16)\n with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9846.15; Mon, 20 Apr\n 2026 08:22:48 +0000","from PH7PR11MB5983.namprd11.prod.outlook.com\n ([fe80::4d6a:a025:2e8b:b240]) by PH7PR11MB5983.namprd11.prod.outlook.com\n ([fe80::4d6a:a025:2e8b:b240%3]) with mapi id 15.20.9846.014; Mon, 20 Apr 2026\n 08:22:48 +0000"],"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 smtp3.osuosl.org 003A260AA9","OpenDKIM Filter v2.11.0 smtp2.osuosl.org BC38B40024"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=osuosl.org;\n\ts=default; t=1776673381;\n\tbh=apLGHQp/+7jTDKf4FWbncaei7tNTfMasVFE9n+4D5BE=;\n\th=From:To:CC:Date:References:In-Reply-To:Subject:List-Id:\n\t List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe:\n\t From;\n\tb=3Mka0uoukKc7m92FOXh4Wq1021WAdw8jHjs97rbs7W/XNt4hyTTwg3x0/NUH6jOag\n\t W/VvVfhwiIzhlwoK4Tm6OeALHZdqCsQ7UZu2I04zgp2vpOAcho0ZmP8CpIc4nWAI1e\n\t jEDBxQzm97FItQKsu3QYVvRqCF2iy5PqiOpiCVsRWsdrRCUADwJPOQaxqegmTAuJpG\n\t fkhH7SJzT2YNcWbDlmB6UxpMb2H6tAWUVkMjlYLjnOCYIjlzBtJHUMlbzJXQkwR0Gv\n\t 9OQpkcZ2wHOtLW226YleZooxWfHGtRUyXa28lvI+gdD5SRyHOMU5QYgYzxpINLuxFB\n\t wDB90YXZK8aXQ==","Received-SPF":"Pass (mailfrom) identity=mailfrom; client-ip=192.198.163.15;\n helo=mgamail.intel.com; envelope-from=piotr.kwapulinski@intel.com;\n receiver=<UNKNOWN>","DMARC-Filter":"OpenDMARC Filter v1.4.2 smtp2.osuosl.org BC38B40024","X-CSE-ConnectionGUID":["JS9x7L6KTmWznVeM5Nz9Mg==","79vsEVdIQrGgca383zxV4A=="],"X-CSE-MsgGUID":["RMrHbUMeTyW5guYVivGl+A==","mhGPXcPXRvyEi99uIPPteg=="],"X-IronPort-AV":["E=McAfee;i=\"6800,10657,11762\"; a=\"77708377\"","E=Sophos;i=\"6.23,189,1770624000\"; d=\"scan'208\";a=\"77708377\"","E=Sophos;i=\"6.23,189,1770624000\"; d=\"scan'208\";a=\"227323126\""],"X-ExtLoop1":"1","ARC-Seal":"i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=cvNJEGDOy4NekBXfbeha4tEPctXuz33UCutippwQlyp54BvEF4/vkyu7J7z6fXkhnSQkGudrBT9Zy6NXlFHykQccYUusdbMz1AJvnnoIgylVsXDjf8rze3Klix0r9OL+6EoRC/zvKDAaztZMCABITSPUbRFqoDR9/oMbAwpO5jjU6BuqKKltfTHZn0iNHd5j4zLd5R7zkIC4qUQoD8y0GZrUbcVU/5wjfZ2Kf8FiPcRpUkr4aX5D6cRtwP9KjPDlYMEQ7pbeMNfrD66tHkEZPEL8hVH9FLgdII3geLBMD0gQ132jvEwH16FrrM/l58tnDB1vRLjjk1vsSjq8MeXk2Q==","ARC-Message-Signature":"i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector10001;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;\n bh=apLGHQp/+7jTDKf4FWbncaei7tNTfMasVFE9n+4D5BE=;\n b=QKVTEg/1keya/NZr+p0lRleywM83gyd1T5lt3UjpRs4GHuGv4ubR5ZSgQAkFCpHrbd7kxUxSmnuCp88clAR6GT0LSmvDLC5yifxmxJ+wRaNP9ehL5rIbn2pnXd+xxmWJxnHYVt+jSTxbP4Kj4VlNcQFXxMbeh/J0l6bftptlF0XeyWAI9A3eanu6SPjEyPWHmU/mSKIJtk9k01FOE5PyBeG5IJrtFB4MxyxL1/OPciIXaV9X3Uyqah4kBX5lAqy/lCmx4t8hUN5a4pRLrZgfqfg9fVrt+Q5YM30h/kWKqzsr2V9VUCqX4oDkwxXPn3svFUkV7LIxCQE1eEmJMOfC3g==","ARC-Authentication-Results":"i=1; mx.microsoft.com 1; spf=pass\n smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com;\n dkim=pass header.d=intel.com; arc=none","From":"\"Kwapulinski, Piotr\" <piotr.kwapulinski@intel.com>","To":"Li Li <boolli@google.com>, \"Nguyen, Anthony L\"\n <anthony.l.nguyen@intel.com>, \"Kitszel, Przemyslaw\"\n <przemyslaw.kitszel@intel.com>, \"David S. Miller\" <davem@davemloft.net>,\n Jakub Kicinski <kuba@kernel.org>, Eric Dumazet <edumazet@google.com>,\n \"intel-wired-lan@lists.osuosl.org\" <intel-wired-lan@lists.osuosl.org>","CC":"\"netdev@vger.kernel.org\" <netdev@vger.kernel.org>,\n \"linux-kernel@vger.kernel.org\" <linux-kernel@vger.kernel.org>, \"David\n Decotigny\" <decot@google.com>, \"Singhai, Anjali\" <anjali.singhai@intel.com>,\n \"Samudrala, Sridhar\" <sridhar.samudrala@intel.com>, Brian Vazquez\n <brianvv@google.com>, \"Tantilov, Emil S\" <emil.s.tantilov@intel.com>","Thread-Topic":"[Intel-wired-lan] [PATCH] idpf: do not perform flow ops when\n netdev is detached","Thread-Index":"AQHc0DJ0LkXqsxSd+E25Lls5A3AeZLXnm6Nw","Date":"Mon, 20 Apr 2026 08:22:48 +0000","Message-ID":"\n <PH7PR11MB59834C3C7785D1E69B7E954EF32F2@PH7PR11MB5983.namprd11.prod.outlook.com>","References":"<20260419192555.3631327-1-boolli@google.com>","In-Reply-To":"<20260419192555.3631327-1-boolli@google.com>","Accept-Language":"en-US","Content-Language":"en-US","X-MS-Has-Attach":"","X-MS-TNEF-Correlator":"","x-ms-publictraffictype":"Email","x-ms-traffictypediagnostic":"PH7PR11MB5983:EE_|CH3PR11MB7370:EE_","x-ms-office365-filtering-correlation-id":"8aa1f03e-1b24-4f64-97c5-08de9eb60198","x-ms-exchange-senderadcheck":"1","x-ms-exchange-antispam-relay":"0","x-microsoft-antispam":"BCL:0;\n ARA:13230040|366016|1800799024|376014|18002099003|38070700021|56012099003|22082099003;","x-microsoft-antispam-message-info":"\n BSeZqUwvQabjchxa0vgsMdPdeEs2XKanUXp1/MR1C6hmaXZ3OZiyISTtw1iywgoqvY4kmu3y/4KlTPq/Moyg0wavOAK7N1noZ1ZoVBjQmnXwTSYd0gcwcY6vEi9wN8BKyFGVcsBrNaevm33SSY0ZBWRAKTwc1ucTiQL0ywP5+HpoU9T9LBnLjmXKdpJFfs1ZJHP1/bapOyQQiKcgnWhzaLwmeZKhDyY2CMcmTLBbPbEJ5MpUBDMdYD+Z3K3HN0mNzHbJHmS+gJMz2iYvI4U35/zXkTSB5PREvYV3hPZzbi5cmWM+XPWZi9oePyTzMCRpyGIGgGF88lQBg9q3S6+AfQsjk72Jf9scSi2nM4R5dgCCTwG7YAPIqojXeZHNbWsLLjJ8xr2VJ7O8VUwu8CmZcyhtre8xs355NAcIPINzS8pQpd0Dj1lexPMcMiqEhH6DLn3eSdyNzpqv65ytNeF7hwojjCJPWNW0yccTc+cMwbeh44XtvSqIuoCviIHlGI2NSkYj2Lz/fMUxFwRaT4XDwN4zfKWzfnIB8LLR6GYAOGlcMijdkSSki7UmYaSD5gBKtuVE3O7N2HBRU0DSPmDmgV+bqUiyDFVXy3KjX8fU0a/lxUnLSSJVo1kEIiNXWwBAXk9/kv8imGdxrvqxdhbBTuvjnf7uDRuUUMfEeRRSz82QQ7tdM2J0LzZzhT/CZnpPfF8PLJw6KUnTHhKVgCEn6MGnIat00ekWuThZVQwUkPtVL0S4MAsCvD8sPuO7LRga4ZfuPTHPymKPVJ53PCMRfVNyQSjpEIBRWJ3aE+8xU/s=","x-forefront-antispam-report":"CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;\n IPV:NLI; SFV:NSPM; H:PH7PR11MB5983.namprd11.prod.outlook.com; PTR:; CAT:NONE;\n SFS:(13230040)(366016)(1800799024)(376014)(18002099003)(38070700021)(56012099003)(22082099003);\n DIR:OUT; SFP:1101;","x-ms-exchange-antispam-messagedata-chunkcount":"1","x-ms-exchange-antispam-messagedata-0":"=?utf-8?q?ELfQM8zHnGbFcqfMg8I5lQ//KuwI?=\n\t=?utf-8?q?rbpbO2CQhQswutUG2LDEHJDdB+fL7UaE0t6UvwtClR3VoabUho5BK8yHaJDgo4H0X?=\n\t=?utf-8?q?GDkrz06xLCBbMXHy1VP/hn1OyzGthCDAKLSmSGaXnx4yTDBazpvUrk2oqHS1J0M84?=\n\t=?utf-8?q?aFUlAKvrHTJWEEY7xzjZ9NEOxYcIyklOyFxZ1VeWsKawaKt30C/y5uvauNrGlru7w?=\n\t=?utf-8?q?PAl+BJbY69e/CG0spFiz96ZgjKbXNEOel485+AnfZzfCgg/vgvFKgCZXYVzgQY2+C?=\n\t=?utf-8?q?vIYnShQPSpAsB4HwV02e/OL3memBh9PfwBzoABspS81sHxfh8/mmXoBkCyoUswE2s?=\n\t=?utf-8?q?L0JTmRjRNQy5iAyxVJveAi+C3tly1JE5weim3EscY9zb0Gcl7STN658RQCze6LCMo?=\n\t=?utf-8?q?g+g8g0EiusbyJUPGSPb/lTbHIB6WkL5daaT4GR8F0tvGTWoprqtNNw862ZzcMsuF4?=\n\t=?utf-8?q?pqvLfuGk2CKwVuwTcQ++pm0HZw1uXGsG8E8uyBsma7hkwqSZ095tmcL0BX9pOlpML?=\n\t=?utf-8?q?yBZ2tAhpgDDexpNUtYZ+zxf948GWFq0Gi71gx/RB2+SbDxE/CTr48UPbYdXan+oNq?=\n\t=?utf-8?q?r65AxcPxiNxtFmdLL5m1Ni+12qMjvCrAK97umN8p2DKbx4X2oNvQZ2zbmjUIKg1R0?=\n\t=?utf-8?q?9g8o10tiHtK+1TAJMB2t6rcTyGM8kz4vZKuszWSjypU1LNrrFkLHnpqRK5AWxAHkq?=\n\t=?utf-8?q?ZFI8+31FjLNA80wPxK0rLsjDgK9UsqTks+xPebiSEaMVhRmF01O30k4aN+u022oDr?=\n\t=?utf-8?q?XWdBjSiCQ1FPDKurwkkzsQF2SYzB4sjLB5xHvwV80kwRVHtM8lYe0fz1DhUmXRrzb?=\n\t=?utf-8?q?+jFzkJGQFwmtEoE8b3DcOkCoagG8MvuWyQdkbpZNR6dT+Be1giXaZbdotbQlfeSY9?=\n\t=?utf-8?q?sF5eUbQFMfH//lqdzguDRqodzI0JRnY3/SUDJbxD8Zya9JJsd4sZAsR+f2PUnc1Yt?=\n\t=?utf-8?q?liOdw4/Pt4K46/huyZsUUR7ChqyUkQgOyZmtUgSX4mdlWnkkhuvXQDKBMz9K33PNb?=\n\t=?utf-8?q?7JThUw4kL4Ssk4WA2LNC16jySj7ulkK5URWbh2pd6EV1fbb8FYr/SjabbewNLnhew?=\n\t=?utf-8?q?n1pCtOq2Qf9axEf5qEyFE85oVHmQEv7Ni7KA6TQIYwDCIs21w7Y4AmgByQDWwsCnB?=\n\t=?utf-8?q?dgrHply05YzkbRdgCn6hobk4O3/j2thESk3C3zIAqvWVA4Khixh+f2++lX+/yGFkh?=\n\t=?utf-8?q?WyyesOn4AGmNQTr4HKDVRydYXC8DcfYFpjzaFZG54k+mxBGgDcfdhXnzBp97aTQNf?=\n\t=?utf-8?q?gK1QkbMlgyPuHHSg/Jvd/+j7tvEQvEYJd6hCEl11i8yoXzWGDEGvrmVWMABMRvvAI?=\n\t=?utf-8?q?Wl46JWO9glRHcBXcilTCuRHP8QAEiVZL75p8eF3A4prEL8aA7AaAFWXrtm7AeaUPm?=\n\t=?utf-8?q?/YRaGyO4lLCyLWJ8uMKlWKKwSXvT5E7KqLulRf+8IOCTGNz+VgsNEXZ+JowPmAkPo?=\n\t=?utf-8?q?uohDanhvMmAH/iqrfHIBJNSXsUyjdFVxYMwbM+JlObv10+tNi21PdDuwkTGiNfTW9?=\n\t=?utf-8?q?JfLA2pIBUweTro+rk/c6TBHoZYIC135FdnK6l/fr8QHQTGtv5zhltEbRdohdIpUCC?=\n\t=?utf-8?q?LQafH45BYb0o1h4FS4a/kTHzZluuRB9aonf1wiydrxPjoV3B1aNAZs3lvnZlTTu0q?=\n\t=?utf-8?q?VT3aWrnZxYHYahmlqi0iy38oDgMorY+Q=3D=3D?=","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"base64","MIME-Version":"1.0","X-Exchange-RoutingPolicyChecked":"\n H7SvtHcip2pRRnpRn9dgeIDAVymQ4gqgMBR5nJs5RC5V1qtxDgGtO3mBmD5tIySwjEy5Y7+73ZXONCdgLF+Rvu9QVici6rV/oD95V+Qpz7vPT+OpG76rRT2D681x7qdUOOXyGGFlrt2tzNT2sN4vTtG4e5UnPzF0kYbyiQiEf5Oc0+X81s2Ot4B2sv7F1r9MjFahrmWEhNgRG+U5S+9ryvCfzbmNaZIxwuc66XnxEiYYyd+SBOp7vACrFOGs3+Mw0mKN1UlGhvrh0rR7Mz9Y9YMNvocIAW5C3ph6yF98bQGzGQ6Gzt9jX35hMk0G4bat54NXu+a+KKgoj8GO+YOQTA==","X-MS-Exchange-CrossTenant-AuthAs":"Internal","X-MS-Exchange-CrossTenant-AuthSource":"PH7PR11MB5983.namprd11.prod.outlook.com","X-MS-Exchange-CrossTenant-Network-Message-Id":"\n 8aa1f03e-1b24-4f64-97c5-08de9eb60198","X-MS-Exchange-CrossTenant-originalarrivaltime":"20 Apr 2026 08:22:48.0901 (UTC)","X-MS-Exchange-CrossTenant-fromentityheader":"Hosted","X-MS-Exchange-CrossTenant-id":"46c98d88-e344-4ed4-8496-4ed7712e255d","X-MS-Exchange-CrossTenant-mailboxtype":"HOSTED","X-MS-Exchange-CrossTenant-userprincipalname":"\n iHaEvUZ3tkIlQUSZWjGOWgtP2uXdg8lWXlbCw6m167gRN3ETkhndSjqifKTwxZWEDB/RSNp1fq03yJNrMcSDAN1K//2OTTxGRwcgkTUhm94=","X-MS-Exchange-Transport-CrossTenantHeadersStamped":"CH3PR11MB7370","X-OriginatorOrg":"intel.com","X-Mailman-Original-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple;\n d=intel.com; i=@intel.com; q=dns/txt; s=Intel;\n t=1776673378; x=1808209378;\n h=from:to:cc:subject:date:message-id:references:\n in-reply-to:content-transfer-encoding:mime-version;\n bh=apLGHQp/+7jTDKf4FWbncaei7tNTfMasVFE9n+4D5BE=;\n b=MzWjVSqMs/Z86OzR7knZVeEHTHphuxVwAWvBZVvjpfdTeSCTLjwMWyMn\n x2hJPUW7BRlExOQudPLEf8Le+fS9mdIBXxc/9/PHOn/oyNf7Pn/SyA7oS\n e7YMCrRnWP8xwmE4BBgHHsOHn8Tbk/j9QTuUvlWCdq8tdMqA/yqSzY4Hc\n GnLNCTGztypEp2ez5/flZ09X/7ukFr00NdGgd0/YFcqYriWitwpXgtNFC\n MeXyHdBKgU0ZuX+xQ4kjvig4z+929gjFdg7SRfWXJ4TZT+cykljg0k/Uy\n 19avX0bodQXfViIoFUvhuD/VlxaS6J4lxiveEEReLWQA2rzI6INsEDhfR\n Q==;","X-Mailman-Original-Authentication-Results":["smtp2.osuosl.org;\n dmarc=pass (p=none dis=none)\n header.from=intel.com","smtp2.osuosl.org;\n dkim=pass (2048-bit key,\n unprotected) header.d=intel.com header.i=@intel.com header.a=rsa-sha256\n header.s=Intel header.b=MzWjVSqM","dkim=none (message not signed)\n header.d=none;dmarc=none action=none header.from=intel.com;"],"Subject":"Re: [Intel-wired-lan] [PATCH] idpf: do not perform flow ops when\n 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>","Errors-To":"intel-wired-lan-bounces@osuosl.org","Sender":"\"Intel-wired-lan\" <intel-wired-lan-bounces@osuosl.org>"}},{"id":3679480,"web_url":"http://patchwork.ozlabs.org/comment/3679480/","msgid":"<CAODvEq54NzzW8Wonu5-CwwqU1+7CcV=wAWxRA-Hp8QiE_eGk_g@mail.gmail.com>","list_archive_url":null,"date":"2026-04-20T17:00:15","subject":"Re: [Intel-wired-lan] [PATCH] idpf: do not perform flow ops when\n netdev is detached","submitter":{"id":92373,"url":"http://patchwork.ozlabs.org/api/people/92373/","name":"Li Li","email":"boolli@google.com"},"content":"On Sun, Apr 19, 2026 at 11:20 PM Loktionov, Aleksandr <\naleksandr.loktionov@intel.com> wrote:\n\n>\n>\n> > -----Original Message-----\n> > From: Intel-wired-lan <intel-wired-lan-bounces@osuosl.org> On Behalf\n> > Of Li Li via Intel-wired-lan\n> > Sent: Sunday, April 19, 2026 9:26 PM\n> > To: Nguyen, Anthony L <anthony.l.nguyen@intel.com>; Kitszel,\n> > Przemyslaw <przemyslaw.kitszel@intel.com>; David S. Miller\n> > <davem@davemloft.net>; Jakub Kicinski <kuba@kernel.org>; Eric Dumazet\n> > <edumazet@google.com>; intel-wired-lan@lists.osuosl.org\n> > Cc: netdev@vger.kernel.org; linux-kernel@vger.kernel.org; David\n> > Decotigny <decot@google.com>; Singhai, Anjali\n> > <anjali.singhai@intel.com>; Samudrala, Sridhar\n> > <sridhar.samudrala@intel.com>; Brian Vazquez <brianvv@google.com>; Li\n> > Li <boolli@google.com>; Tantilov, Emil S <emil.s.tantilov@intel.com>\n> > Subject: [Intel-wired-lan] [PATCH] idpf: do not perform flow ops when\n> > netdev is detached\n> >\n> > Even though commit 2e281e1155fc (\"idpf: detach and close netdevs while\n> > handling a reset\") prevents ethtool -N/-n operations to operate on\n> > detached netdevs, we found that out-of-tree workflows like OpenOnload\n> > can bypass ethtool core locks and call idpf_set_rxnfc directly during\n> > an idpf HW reset. When this happens, we could get kernel crashes like\n> > the following:\n> >\n> > [ 4045.787439] BUG: kernel NULL pointer dereference, address:\n> > 0000000000000070 [ 4045.794420] #PF: supervisor read access in kernel\n> > mode [ 4045.799580] #PF: error_code(0x0000) - not-present page [\n> > 4045.804739] PGD 0 [ 4045.806772] Oops: Oops: 0000 [#1] SMP NOPTI ...\n> > [ 4045.836425] Workqueue: onload-wqueue oof_do_deferred_work_fn\n> > [onload] [ 4045.842926] RIP: 0010:idpf_del_flow_steer+0x24/0x170\n> > [idpf] ...\n> > [ 4045.946323] Call Trace:\n> > [ 4045.948796]  <TASK>\n> > [ 4045.950915]  ? show_trace_log_lvl+0x1b0/0x2f0 [ 4045.955293]  ?\n> > show_trace_log_lvl+0x1b0/0x2f0 [ 4045.959672]  ?\n> > idpf_set_rxnfc+0x6f/0x80 [idpf] [ 4045.964142]  ?\n> > __die_body.cold+0x8/0x12 [ 4045.968000]  ? page_fault_oops+0x148/0x160\n> > [ 4045.972117]  ? exc_page_fault+0x6f/0x160 [ 4045.976060]  ?\n> > asm_exc_page_fault+0x22/0x30 [ 4045.980262]  ?\n> > idpf_del_flow_steer+0x24/0x170 [idpf] [ 4045.985245]\n> > idpf_set_rxnfc+0x6f/0x80 [idpf] [ 4045.989535]\n> > af_xdp_filter_remove+0x7c/0xb0 [sfc_resource] [ 4045.995069]\n> > oo_hw_filter_clear_hwports+0x6f/0xa0 [onload] [ 4046.000589]\n> > oo_hw_filter_update+0x65/0x210 [onload] [ 4046.005587]\n> > oof_hw_filter_update.constprop.0+0xe7/0x140 [onload] [ 4046.011716]\n> > oof_manager_update_all_filters+0xad/0x270 [onload] [ 4046.017671]\n> > __oof_do_deferred_work+0x15e/0x190 [onload] [ 4046.023014]\n> > oof_do_deferred_work+0x2c/0x40 [onload] [ 4046.028018]\n> > oof_do_deferred_work_fn+0x12/0x30 [onload] [ 4046.033277]\n> > process_one_work+0x174/0x330 [ 4046.037304]  worker_thread+0x246/0x390\n> > [ 4046.041074]  ? __pfx_worker_thread+0x10/0x10 [ 4046.045364]\n> > kthread+0xf6/0x240 [ 4046.048530]  ? __pfx_kthread+0x10/0x10 [\n> > 4046.052297]  ret_from_fork+0x2d/0x50 [ 4046.055896]  ?\n> > __pfx_kthread+0x10/0x10 [ 4046.059664]  ret_from_fork_asm+0x1a/0x30 [\n> > 4046.063613]  </TASK>\n> >\n> > To prevent this, we need to add checks in idpf_set_rxnfc and\n> > idpf_get_rxnfc to error out if the netdev is already detached.\n> >\n> > Tested: implemented the following patch to synthetically force idpf\n> > into a HW reset:\n> >\n> > diff --git a/drivers/net/ethernet/intel/idpf/idpf_txrx.c\n> > b/drivers/net/ethernet/intel/idpf/idpf_txrx.c\n> > index 4fc0bb14c5b1..27476d57bcf0 100644\n> > --- a/drivers/net/ethernet/intel/idpf/idpf_txrx.c\n> > +++ b/drivers/net/ethernet/intel/idpf/idpf_txrx.c\n> > @@ -10,6 +10,9 @@\n> >  #define idpf_tx_buf_next(buf)                (*(u32 *)&(buf)->priv)\n> >  LIBETH_SQE_CHECK_PRIV(u32);\n> >\n> > +static bool SIMULATE_TX_TIMEOUT;\n> > +module_param(SIMULATE_TX_TIMEOUT, bool, 0644);\n> > +\n> >  /**\n> >   * idpf_chk_linearize - Check if skb exceeds max descriptors per\n> > packet\n> >   * @skb: send buffer\n> > @@ -46,6 +49,8 @@ void idpf_tx_timeout(struct net_device *netdev,\n> > unsigned int txqueue)\n> >\n> >       adapter->tx_timeout_count++;\n> >\n> > +     SIMULATE_TX_TIMEOUT = false;\n> > +\n> >       netdev_err(netdev, \"Detected Tx timeout: Count %d, Queue %d\\n\",\n> >                  adapter->tx_timeout_count, txqueue);\n> >       if (!idpf_is_reset_in_prog(adapter)) { @@ -2225,6 +2230,8 @@\n> > static bool idpf_tx_clean_complq(struct idpf_compl_queue *complq, int\n> > budget,\n> >                       goto fetch_next_desc;\n> >               }\n> >               tx_q = complq->txq_grp->txqs[rel_tx_qid];\n> > +             if (unlikely(SIMULATE_TX_TIMEOUT && (tx_q->idx % 2 ==\n> > 1)))\n> > +                     goto fetch_next_desc;\n> >\n> >               /* Determine completion type */\n> >               ctype = le16_get_bits(tx_desc->common.qid_comptype_gen,\n> > diff --git a/drivers/net/ethernet/intel/idpf/idpf_virtchnl.c\n> > b/drivers/net/ethernet/intel/idpf/idpf_virtchnl.c\n> > index be66f9b2e101..ba5da2a86c15 100644\n> > --- a/drivers/net/ethernet/intel/idpf/idpf_virtchnl.c\n> > +++ b/drivers/net/ethernet/intel/idpf/idpf_virtchnl.c\n> > @@ -8,6 +8,9 @@\n> >  #include \"idpf_virtchnl.h\"\n> >  #include \"idpf_ptp.h\"\n> >\n> > +static bool VIRTCHNL_FAILED;\n> > +module_param(VIRTCHNL_FAILED, bool, 0644);\n> > +\n> >  /**\n> >   * struct idpf_vc_xn_manager - Manager for tracking transactions\n> >   * @ring: backing and lookup for transactions @@ -3496,6 +3499,11 @@\n> > int idpf_vc_core_init(struct idpf_adapter *adapter)\n> >               switch (adapter->state) {\n> >               case __IDPF_VER_CHECK:\n> >                       err = idpf_send_ver_msg(adapter);\n> > +\n> > +                     if (unlikely(VIRTCHNL_FAILED)) {\n> > +                             err = -EIO;\n> > +                     }\n> > +\n> >                       switch (err) {\n> >                       case 0:\n> >                               /* success, move state machine forward */\n> >\n> > And tested by writing 1 to /sys/module/idpf/parameters/VIRTCHNL_FAILED\n> > and /sys/module/idpf/parameters/SIMULATE_TX_TIMEOUT, and running\n> > idpf_get_rxnfc() right after the HW reset.\n> >\n> > Without the patch: encountered NULL pointer and kernel crash.\n> >\n> > With the patch: no crashes.\n> >\n> > Fixes: 2e281e1155fc (\"idpf: detach and close netdevs while handling a\n> > reset\")\n> > Signed-off-by: Li Li <boolli@google.com>\n> > ---\n> >  drivers/net/ethernet/intel/idpf/idpf_ethtool.c | 6 ++++++\n> >  1 file changed, 6 insertions(+)\n> >\n> > diff --git a/drivers/net/ethernet/intel/idpf/idpf_ethtool.c\n> > b/drivers/net/ethernet/intel/idpf/idpf_ethtool.c\n> > index 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,\n> > struct ethtool_rxnfc *cmd,\n> >       unsigned int cnt = 0;\n> >       int err = 0;\n> >\n> > +     if (!netdev || !netif_device_present(netdev))\n> > +             return -ENODEV;\n> > +\n> >       idpf_vport_ctrl_lock(netdev);\n> >       vport = idpf_netdev_to_vport(netdev);\n> >       vport_config = np->adapter->vport_config[np->vport_idx];\n> > @@ -349,6 +352,9 @@ static int idpf_set_rxnfc(struct net_device\n> > *netdev, struct ethtool_rxnfc *cmd)  {\n> >       int ret = -EOPNOTSUPP;\n> >\n> > +     if (!netdev || !netif_device_present(netdev))\n> > +             return -ENODEV;\n> > +\n> >       idpf_vport_ctrl_lock(netdev);\n> >       switch (cmd->cmd) {\n> >       case ETHTOOL_SRXCLSRLINS:\n> > --\n> > 2.54.0.rc1.513.gad8abe7a5a-goog\n>\n\nSounds good, I CC'ed stable@vger.kernel.org and will append it to all\nongoing comments.\n\nThanks!\n\n\n>\n> Please add Cc: stable@vger.kernel.org\n>\n> Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>\n>","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=HrIKJwAH;\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 4fzsF25N7Gz1yCv\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 21 Apr 2026 03:00:38 +1000 (AEST)","from localhost (localhost [127.0.0.1])\n\tby smtp4.osuosl.org (Postfix) with ESMTP id 2FECD40EF9;\n\tMon, 20 Apr 2026 17:00:36 +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 kUIZISWKa4Dj; Mon, 20 Apr 2026 17:00:34 +0000 (UTC)","from lists1.osuosl.org (lists1.osuosl.org [140.211.166.142])\n\tby smtp4.osuosl.org (Postfix) with ESMTP id 45E9540E61;\n\tMon, 20 Apr 2026 17:00:34 +0000 (UTC)","from smtp2.osuosl.org (smtp2.osuosl.org [IPv6:2605:bc80:3010::133])\n by lists1.osuosl.org (Postfix) with ESMTP id 1C90A24D\n for <intel-wired-lan@lists.osuosl.org>; Mon, 20 Apr 2026 17:00:33 +0000 (UTC)","from localhost (localhost [127.0.0.1])\n by smtp2.osuosl.org (Postfix) with ESMTP id 0252E4084A\n for <intel-wired-lan@lists.osuosl.org>; Mon, 20 Apr 2026 17:00:33 +0000 (UTC)","from smtp2.osuosl.org ([127.0.0.1])\n by localhost (smtp2.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP\n id Zu0anvwATAci for <intel-wired-lan@lists.osuosl.org>;\n Mon, 20 Apr 2026 17:00:32 +0000 (UTC)","from mail-yw1-x1133.google.com (mail-yw1-x1133.google.com\n [IPv6:2607:f8b0:4864:20::1133])\n by smtp2.osuosl.org (Postfix) with ESMTPS id A6D4B40070\n for <intel-wired-lan@lists.osuosl.org>; Mon, 20 Apr 2026 17:00:31 +0000 (UTC)","by mail-yw1-x1133.google.com with SMTP id\n 00721157ae682-79a2ee65171so43423997b3.2\n for <intel-wired-lan@lists.osuosl.org>; Mon, 20 Apr 2026 10:00:31 -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 45E9540E61","OpenDKIM Filter v2.11.0 smtp2.osuosl.org A6D4B40070"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=osuosl.org;\n\ts=default; t=1776704434;\n\tbh=qosU7LeAZMC6W0gUzswSZnD358K/njm0Rbna8pPFtPY=;\n\th=References:In-Reply-To:Date:To:Cc:Subject:List-Id:\n\t List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe:\n\t From:Reply-To:From;\n\tb=HrIKJwAHXnkQ8TulAJov9CvE4Hd8oivBYydE8T85dGXQHA/87ALlzmmc/GudSO5SQ\n\t wwnI/5k9FDankxYzouVmzZzUCkdAKhc7TXxp2RWIYH2s1JfedeKINDa4F/Un+NraBW\n\t KJxIkTezP5iPe+L8Itl/ZOmF4RrvP0MEsuA9VKF8UIzC1uY5P1k5RcgWE76CFAs75a\n\t ZeQ5wq6I2UvON1NIb2ypzOHUgfPTutt767I1dLlr3QVtZcSEFJY31sE50pUTtVGn7e\n\t bZGWfEzy9j5fjMTJD0wzn8HYL4tz4uF1wNfI1QFlMCj6ytSgxp3mdGRlO0J+KxdC7U\n\t CM+jpstIIVgzg==","Received-SPF":"Pass (mailfrom) identity=mailfrom;\n client-ip=2607:f8b0:4864:20::1133; helo=mail-yw1-x1133.google.com;\n envelope-from=boolli@google.com; receiver=<UNKNOWN>","DMARC-Filter":"OpenDMARC Filter v1.4.2 smtp2.osuosl.org A6D4B40070","ARC-Seal":"i=1; a=rsa-sha256; t=1776704430; cv=none;\n d=google.com; s=arc-20240605;\n b=SFOhPGhMRRSDu2Ri/qdX6HsBaNqP+h3hZ9raD9MxABvy4+H1Dkg6RFCfDStbjLSvEY\n rCTmM7KBsC4cjfQtuyp9Z7l8NDlA8ugN8xqTIzA5H3z31PxJHMUNTU7DK0qafHGixGvu\n 2NO6jX6jAJiAtwZgTZ+2WzIjmGS2EVUIuBRl//l3E8G39BncJFNf2eASwW3UZDY/X5oH\n mZZCyldBitLnWU8HIZhImt4It2Hjd71uaadrGltEG/YktFBqGbUb5forYXcLaE7NKQ9/\n CCovDVpXEyKFI2hCEzXjh4HUnwcIIPZ5cMPfKcInTm+guSJundk6InE6HKcmVEbAjyRN\n mTvw==","ARC-Message-Signature":"i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com;\n s=arc-20240605;\n h=cc:to:subject:message-id:date:from:in-reply-to:references\n :mime-version:dkim-signature;\n bh=qosU7LeAZMC6W0gUzswSZnD358K/njm0Rbna8pPFtPY=;\n fh=21OKOHmPjqOUmo0H6z1Tx0W8IYs8k7lOHKat3uSHIVA=;\n b=Ky2wxXyDH4fZP1F7CdLFcZEthWkqpqzsc96EDk85KzNPuY8Ch/ljQVkNa+CU7z+Tei\n B949mqfGxGkUfpJWab9f1M2fhTNwItUZ8HAfFRqIzrcDJfwgpMbkGY+s/PkFJeWxMUKv\n yiYxHsK/IN1CUH9La+5lZptbJhGWZlnOFlXPHqvRwZXCmrbOuMAosKdwXtfY0m/ySo7o\n VOop7ipmk6z5rNt8YtOm5uJk2QMBLH5NvczSOhXzeRX7T+/ecRYDXyuSis3Wu6BOrlwh\n VS+AsP9sJcd6paiNNkjXb9gY7TOawTOApkrL9rI3P4mna2m6tzBMMPZBBlrsRoGfF/3r\n xx0g==; darn=lists.osuosl.org","ARC-Authentication-Results":"i=1; mx.google.com; arc=none","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1776704430; x=1777309230;\n h=cc:to:subject:message-id:date:from:in-reply-to:references\n :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date\n :message-id:reply-to;\n bh=qosU7LeAZMC6W0gUzswSZnD358K/njm0Rbna8pPFtPY=;\n b=bLUzus7L3qvDXZSAEKEt1mhrxq1idjKKJGpgZMgEUs7ZrbCKEhWXHdyTaAWrrwqX2S\n IaTO4yZhTeKIJ9PSIrnIV31ZkXgaFugOl/99I1NgaLbTCZg0TmrU39dwMwHCwp2knUz5\n UmF3WO1EEvqih090eI50R/0KM78HC3f5Bik993is3ODqB97lCFgHnkwKSXabMexoqVwe\n SCwEKyKtWiqF5KtxaFWxVLcgndJQRRuyjPZ15H3BRLjahhP7QWEjlCvdMapbEYRhg78w\n wq9nS44zC3yO/VhG4ASZWnM8rFtGorM93xyo5M+tQt22XK8TjiKd8H9v/2hRT04QAbTC\n ebTQ==","X-Forwarded-Encrypted":"i=1;\n AFNElJ+M7KVlI0leF0IME10AkVzlwqZf8Q8QRLjZBVe+ivmbCo/oUHHuffu9fPpuxDtWr5/jpINAYUAxmMY7uIRQgHc=@lists.osuosl.org","X-Gm-Message-State":"AOJu0Yx51kt21r4cNUxMt0r/lx+iZoZP1KlBjQR9O5RiNrMjbcEk28LD\n n/rpwYGXYwiIUr3d3VyXsotfK6I8eynUjFsuUVE+BDGonp4Ie02/FkYP20eDdgdbTjuWVMbE8DZ\n XG6l4bgGri+KxIzCZZayXOnty7EVYdGr2CbznRthW","X-Gm-Gg":"AeBDieuyFj3m0HmlSvorqREncsfOFOYUnD+j6goWhHUM7SBlX85YRk8gOnzo42l/5Am\n NFGqWgVYYy8PNrzon25Ngg8AMTbxE/1QipbwyzywrIT9YTHMErVgkA+ABp+NcOz6G9dUek/hOlG\n dCz83iq+pteZ5YQr5O31kOZbmT4RgMgpwnCM2aFQikrINNL1D07GaxtFCc4nNVhcwQkBa5ailb6\n IOJeC9Tqv14VYSX8xAc+GWaj36AXxGEAskDt+3tH++EyWoruDnX3uyPip+gYPOa7Hgxgb4UzTFW\n NE2zBHrS9+z3ToI7IqIovbhP7gyMLkJr3PxAFB70OJ0Ex4NjfnhkqcMAmio=","X-Received":"by 2002:a05:690e:4812:b0:651:cddf:8c2d with SMTP id\n 956f58d0204a3-65310a558dcmr8992591d50.43.1776704428060; Mon, 20 Apr 2026\n 10:00:28 -0700 (PDT)","MIME-Version":"1.0","References":"<20260419192555.3631327-1-boolli@google.com>\n <IA3PR11MB89864E6BED3A633061BB0A1FE52F2@IA3PR11MB8986.namprd11.prod.outlook.com>","In-Reply-To":"\n <IA3PR11MB89864E6BED3A633061BB0A1FE52F2@IA3PR11MB8986.namprd11.prod.outlook.com>","Date":"Mon, 20 Apr 2026 10:00:15 -0700","X-Gm-Features":"AQROBzCn3AE-kh1GV0WJU8R62dpAEmnFPoGv1Hun0exE-BYDaFUI24hYpB3s4cY","Message-ID":"\n <CAODvEq54NzzW8Wonu5-CwwqU1+7CcV=wAWxRA-Hp8QiE_eGk_g@mail.gmail.com>","To":"\"Loktionov, Aleksandr\" <aleksandr.loktionov@intel.com>","Cc":"\"Nguyen, Anthony L\" <anthony.l.nguyen@intel.com>,\n \"Kitszel, Przemyslaw\" <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\" <intel-wired-lan@lists.osuosl.org>,\n \"netdev@vger.kernel.org\" <netdev@vger.kernel.org>,\n \"linux-kernel@vger.kernel.org\" <linux-kernel@vger.kernel.org>,\n David Decotigny <decot@google.com>,\n \"Singhai, Anjali\" <anjali.singhai@intel.com>,\n \"Samudrala, Sridhar\" <sridhar.samudrala@intel.com>,\n Brian Vazquez <brianvv@google.com>,\n \"Tantilov, Emil S\" <emil.s.tantilov@intel.com>, stable@vger.kernel.org","Content-Type":"multipart/alternative; boundary=\"0000000000004f4430064fe73cdb\"","X-Mailman-Original-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=google.com; s=20251104; t=1776704430; x=1777309230; darn=lists.osuosl.org;\n h=cc:to:subject:message-id:date:from:in-reply-to:references\n :mime-version:from:to:cc:subject:date:message-id:reply-to;\n bh=qosU7LeAZMC6W0gUzswSZnD358K/njm0Rbna8pPFtPY=;\n b=KXvQNLWSo3js3WTOQYGu5IVr7RvjQPVYAtuT30l6iJgZLO9CTza81+AgnqsrTZj3pL\n X8zLFmwhKwHYS8LqsrsBR57L9S7BYyZ2KInEtz6XnMyfZl+H0G+IgKpi/mVCFx63CNOq\n dKv+BRM9z0g6QM8TsQXiAd6xH6BQADLnvAZjsIVHDuNp1gvJ6Vg842xGDOGE28C7ks1R\n jMzGhuzDNsteHvQ+1CAZlmE+h4BaUJWKtTt4XJtXUYDSo0khIH2tQBplyDkvSaNvESBg\n qPMG1zN5/2mM3sjMX16mqBJwzCZHg/22MCI7LdMzOz+9+qpbWYj4fFiUAzqfdf7jZsbw\n sdbQ==","X-Mailman-Original-Authentication-Results":["smtp2.osuosl.org;\n dmarc=pass (p=reject dis=none)\n header.from=google.com","smtp2.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=KXvQNLWS"],"Subject":"Re: [Intel-wired-lan] [PATCH] idpf: do not perform flow ops when\n 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>"}},{"id":3679483,"web_url":"http://patchwork.ozlabs.org/comment/3679483/","msgid":"<CAODvEq41VxdJ+nmM49eNo4d4VYBoDF69hzQUe8dUP9RoAuxxGA@mail.gmail.com>","list_archive_url":null,"date":"2026-04-20T17:03:08","subject":"Re: [Intel-wired-lan] [PATCH] idpf: do not perform flow ops when\n netdev is detached","submitter":{"id":92373,"url":"http://patchwork.ozlabs.org/api/people/92373/","name":"Li Li","email":"boolli@google.com"},"content":"On Mon, Apr 20, 2026 at 1:23 AM Kwapulinski, Piotr\n<piotr.kwapulinski@intel.com> wrote:\n>\n> >-----Original Message-----\n> >From: Intel-wired-lan <intel-wired-lan-bounces@osuosl.org> On Behalf Of Li Li via Intel-wired-lan\n> >Sent: Sunday, April 19, 2026 9:26 PM\n> >To: Nguyen, Anthony L <anthony.l.nguyen@intel.com>; Kitszel, Przemyslaw <przemyslaw.kitszel@intel.com>; David S. Miller <davem@davemloft.net>; Jakub Kicinski <kuba@kernel.org>; Eric Dumazet <edumazet@google.com>; intel-wired-lan@lists.osuosl.org\n> >Cc: netdev@vger.kernel.org; linux-kernel@vger.kernel.org; David Decotigny <decot@google.com>; Singhai, Anjali <anjali.singhai@intel.com>; Samudrala, Sridhar <sridhar.samudrala@intel.com>; Brian Vazquez <brianvv@google.com>; Li Li <boolli@google.com>; Tantilov, Emil S <emil.s.tantilov@intel.com>\n> >Subject: [Intel-wired-lan] [PATCH] idpf: do not perform flow ops when netdev is detached\n> >\n> >Even though commit 2e281e1155fc (\"idpf: detach and close netdevs while handling a reset\") prevents ethtool -N/-n operations to operate on detached netdevs, we found that out-of-tree workflows like OpenOnload can bypass ethtool core locks and call idpf_set_rxnfc directly during an idpf HW reset. When this happens, we could get kernel crashes like the following:\n> >\n> >[ 4045.787439] BUG: kernel NULL pointer dereference, address: 0000000000000070 [ 4045.794420] #PF: supervisor read access in kernel mode [ 4045.799580] #PF: error_code(0x0000) - not-present page [ 4045.804739] PGD 0 [ 4045.806772] Oops: Oops: 0000 [#1] SMP NOPTI ...\n> >[ 4045.836425] Workqueue: onload-wqueue oof_do_deferred_work_fn [onload] [ 4045.842926] RIP: 0010:idpf_del_flow_steer+0x24/0x170 [idpf] ...\n> >[ 4045.946323] Call Trace:\n> >[ 4045.948796]  <TASK>\n> >[ 4045.950915]  ? show_trace_log_lvl+0x1b0/0x2f0 [ 4045.955293]  ? show_trace_log_lvl+0x1b0/0x2f0 [ 4045.959672]  ? idpf_set_rxnfc+0x6f/0x80 [idpf] [ 4045.964142]  ? __die_body.cold+0x8/0x12 [ 4045.968000]  ? page_fault_oops+0x148/0x160 [ 4045.972117]  ? exc_page_fault+0x6f/0x160 [ 4045.976060]  ? asm_exc_page_fault+0x22/0x30 [ 4045.980262]  ? idpf_del_flow_steer+0x24/0x170 [idpf] [ 4045.985245]  idpf_set_rxnfc+0x6f/0x80 [idpf] [ 4045.989535]  af_xdp_filter_remove+0x7c/0xb0 [sfc_resource] [ 4045.995069]  oo_hw_filter_clear_hwports+0x6f/0xa0 [onload] [ 4046.000589]  oo_hw_filter_update+0x65/0x210 [onload] [ 4046.005587]  oof_hw_filter_update.constprop.0+0xe7/0x140 [onload] [ 4046.011716]  oof_manager_update_all_filters+0xad/0x270 [onload] [ 4046.017671]  __oof_do_deferred_work+0x15e/0x190 [onload] [ 4046.023014]  oof_do_deferred_work+0x2c/0x40 [onload] [ 4046.028018]  oof_do_deferred_work_fn+0x12/0x30 [onload] [ 4046.033277]  process_one_work+0x174/0x330 [ 4046.037304]  worker_thread+0x246/0x390 [ 4046.041074]  ? __pfx_worker_thread+0x10/0x10 [ 4046.045364]  kthread+0xf6/0x240 [ 4046.048530]  ? __pfx_kthread+0x10/0x10 [ 4046.052297]  ret_from_fork+0x2d/0x50 [ 4046.055896]  ? __pfx_kthread+0x10/0x10 [ 4046.059664]  ret_from_fork_asm+0x1a/0x30 [ 4046.063613]  </TASK>\n> >\n> >To prevent this, we need to add checks in idpf_set_rxnfc and idpf_get_rxnfc to error out if the netdev is already detached.\n> >\n> >Tested: implemented the following patch to synthetically force idpf into a HW reset:\n> >\n> >diff --git a/drivers/net/ethernet/intel/idpf/idpf_txrx.c b/drivers/net/ethernet/intel/idpf/idpf_txrx.c\n> >index 4fc0bb14c5b1..27476d57bcf0 100644\n> >--- a/drivers/net/ethernet/intel/idpf/idpf_txrx.c\n> >+++ b/drivers/net/ethernet/intel/idpf/idpf_txrx.c\n> >@@ -10,6 +10,9 @@\n> > #define idpf_tx_buf_next(buf)         (*(u32 *)&(buf)->priv)\n> > LIBETH_SQE_CHECK_PRIV(u32);\n> >\n> >+static bool SIMULATE_TX_TIMEOUT;\n> >+module_param(SIMULATE_TX_TIMEOUT, bool, 0644);\n> >+\n> > /**\n> >  * idpf_chk_linearize - Check if skb exceeds max descriptors per packet\n> >  * @skb: send buffer\n> >@@ -46,6 +49,8 @@ void idpf_tx_timeout(struct net_device *netdev, unsigned int txqueue)\n> >\n> >       adapter->tx_timeout_count++;\n> >\n> >+      SIMULATE_TX_TIMEOUT = false;\n> >+\n> >       netdev_err(netdev, \"Detected Tx timeout: Count %d, Queue %d\\n\",\n> >                  adapter->tx_timeout_count, txqueue);\n> >       if (!idpf_is_reset_in_prog(adapter)) { @@ -2225,6 +2230,8 @@ static bool idpf_tx_clean_complq(struct idpf_compl_queue *complq, int budget,\n> >                       goto fetch_next_desc;\n> >               }\n> >               tx_q = complq->txq_grp->txqs[rel_tx_qid];\n> >+              if (unlikely(SIMULATE_TX_TIMEOUT && (tx_q->idx % 2 == 1)))\n> >+                      goto fetch_next_desc;\n> >\n> >               /* Determine completion type */\n> >               ctype = le16_get_bits(tx_desc->common.qid_comptype_gen,\n> >diff --git a/drivers/net/ethernet/intel/idpf/idpf_virtchnl.c b/drivers/net/ethernet/intel/idpf/idpf_virtchnl.c\n> >index be66f9b2e101..ba5da2a86c15 100644\n> >--- a/drivers/net/ethernet/intel/idpf/idpf_virtchnl.c\n> >+++ b/drivers/net/ethernet/intel/idpf/idpf_virtchnl.c\n> >@@ -8,6 +8,9 @@\n> > #include \"idpf_virtchnl.h\"\n> > #include \"idpf_ptp.h\"\n> >\n> >+static bool VIRTCHNL_FAILED;\n> >+module_param(VIRTCHNL_FAILED, bool, 0644);\n> >+\n> > /**\n> >  * struct idpf_vc_xn_manager - Manager for tracking transactions\n> >  * @ring: backing and lookup for transactions @@ -3496,6 +3499,11 @@ int idpf_vc_core_init(struct idpf_adapter *adapter)\n> >               switch (adapter->state) {\n> >               case __IDPF_VER_CHECK:\n> >                       err = idpf_send_ver_msg(adapter);\n> >+\n> >+                      if (unlikely(VIRTCHNL_FAILED)) {\n> >+                              err = -EIO;\n> >+                      }\n> Please remove redundant parenthesis\n> Piotr\n\nHi Piotr,\n\nThe block you are commenting on is not part of the patch; it's just a\nblock of test code in the commit message I used to reproduce the\nfailures.\n\nThanks!\n\n>\n> >+\n> >                       switch (err) {\n> >                       case 0:\n> >                               /* success, move state machine forward */\n> >\n> >And tested by writing 1 to /sys/module/idpf/parameters/VIRTCHNL_FAILED\n> >and /sys/module/idpf/parameters/SIMULATE_TX_TIMEOUT, and running\n> >idpf_get_rxnfc() right after the HW reset.\n> >\n> >Without the patch: encountered NULL pointer and kernel crash.\n> >\n> >With the patch: no crashes.\n> >\n> >Fixes: 2e281e1155fc (\"idpf: detach and close netdevs while handling a reset\")\n> >Signed-off-by: Li Li <boolli@google.com>\n> >---\n> > drivers/net/ethernet/intel/idpf/idpf_ethtool.c | 6 ++++++\n> > 1 file changed, 6 insertions(+)\n> >\n> >diff --git a/drivers/net/ethernet/intel/idpf/idpf_ethtool.c b/drivers/net/ethernet/intel/idpf/idpf_ethtool.c\n> >index 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> >       unsigned int cnt = 0;\n> >       int err = 0;\n> >\n> >+      if (!netdev || !netif_device_present(netdev))\n> >+              return -ENODEV;\n> >+\n> >       idpf_vport_ctrl_lock(netdev);\n> >       vport = idpf_netdev_to_vport(netdev);\n> >       vport_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> >       int ret = -EOPNOTSUPP;\n> >\n> >+      if (!netdev || !netif_device_present(netdev))\n> >+              return -ENODEV;\n> >+\n> >       idpf_vport_ctrl_lock(netdev);\n> >       switch (cmd->cmd) {\n> >       case ETHTOOL_SRXCLSRLINS:\n> >--\n> >2.54.0.rc1.513.gad8abe7a5a-goog","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=OZQ2BIgR;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=osuosl.org\n (client-ip=140.211.166.136; helo=smtp3.osuosl.org;\n envelope-from=intel-wired-lan-bounces@osuosl.org;\n receiver=patchwork.ozlabs.org)"],"Received":["from smtp3.osuosl.org (smtp3.osuosl.org [140.211.166.136])\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 4fzsJL4XzDz1yCv\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 21 Apr 2026 03:03:30 +1000 (AEST)","from localhost (localhost [127.0.0.1])\n\tby smtp3.osuosl.org (Postfix) with ESMTP id 5A6E4610F0;\n\tMon, 20 Apr 2026 17:03:28 +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 CDKAg7NmiO-O; Mon, 20 Apr 2026 17:03:27 +0000 (UTC)","from lists1.osuosl.org (lists1.osuosl.org [140.211.166.142])\n\tby smtp3.osuosl.org (Postfix) with ESMTP id 7D517610EA;\n\tMon, 20 Apr 2026 17:03:27 +0000 (UTC)","from smtp4.osuosl.org (smtp4.osuosl.org [IPv6:2605:bc80:3010::137])\n by lists1.osuosl.org (Postfix) with ESMTP id 85C8C24D\n for <intel-wired-lan@lists.osuosl.org>; Mon, 20 Apr 2026 17:03:25 +0000 (UTC)","from localhost (localhost [127.0.0.1])\n by smtp4.osuosl.org (Postfix) with ESMTP id 6B207410B2\n for <intel-wired-lan@lists.osuosl.org>; Mon, 20 Apr 2026 17:03:25 +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 oq1NiMD0wlB9 for <intel-wired-lan@lists.osuosl.org>;\n Mon, 20 Apr 2026 17:03:24 +0000 (UTC)","from mail-yx1-xb136.google.com (mail-yx1-xb136.google.com\n [IPv6:2607:f8b0:4864:20::b136])\n by smtp4.osuosl.org (Postfix) with ESMTPS id 7A42141104\n for <intel-wired-lan@lists.osuosl.org>; Mon, 20 Apr 2026 17:03:24 +0000 (UTC)","by mail-yx1-xb136.google.com with SMTP id\n 956f58d0204a3-64eaf8aa893so2617384d50.3\n for <intel-wired-lan@lists.osuosl.org>; Mon, 20 Apr 2026 10:03:24 -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 smtp3.osuosl.org 7D517610EA","OpenDKIM Filter v2.11.0 smtp4.osuosl.org 7A42141104"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=osuosl.org;\n\ts=default; t=1776704607;\n\tbh=QuwHzur0DyTT6fAN7548X05vvqlUKr6sImf2XcXe9sE=;\n\th=References:In-Reply-To:Date:To:Cc:Subject:List-Id:\n\t List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe:\n\t From:Reply-To:From;\n\tb=OZQ2BIgRkIk5yrs2trCiT2RS/EzUpQiE39owfIiEV16j+FUHutR8a8ehMR/9kmcgR\n\t tR2+R4kYCd/DWS2p2Azs9Dr2Tz3jlrNwHvmf7J/T4Y+IpNvB6RXzp51UonGw8v5O8I\n\t SGIaCE72tWG3o601WuCLeABzAEZKIuUmD4s2MyiTLuJBu9Ga8BiAn5qR4LcyCzef48\n\t NLYi7O8G0EvCoGjW8IQQRaR7kjgBQSpQYR0s5GAW3qfIqWcjJKWCz7mDlZaw0avYEn\n\t fkb78DK8HEVAF78Yk6TrrN5WE9L7P/S4b5IZfAtRmSCX750st3KAzueUkuSM8bfww6\n\t 4mXCCEdXv7cZQ==","Received-SPF":"Pass (mailfrom) identity=mailfrom;\n client-ip=2607:f8b0:4864:20::b136; helo=mail-yx1-xb136.google.com;\n envelope-from=boolli@google.com; receiver=<UNKNOWN>","DMARC-Filter":"OpenDMARC Filter v1.4.2 smtp4.osuosl.org 7A42141104","ARC-Seal":"i=1; a=rsa-sha256; t=1776704603; cv=none;\n d=google.com; s=arc-20240605;\n b=MmdFvgqa+5ua4hvIgjag4Y2t1SxY+IMBGqcMQUDSD/5IfdX57iBGxLYUaBre9WjG3T\n pSQjzhj3QIea0aIj/qiF0Cg+8C5FYWbE7dv5fQ4m54rymXqNzxLcbFZYlunrUN16uxMj\n ixoUcPPIx68sUGqHi3a8cNL1nBHnRy0/XPUyYO7UwAv4laZfBE875WTesIOU4MSwZ9RQ\n +A4zcML4MpqDrRBLqUWja764+wEKOlWiNq4xmBGBSUgeU664+Rtmds0JS4Y204/uFx2d\n eZGryQWd6WG9R9Ro8G2Lby4aL69IsgRW8SaPQmlZnvbgD0JNzTHf3Cku8SgF9pO9O2r+\n ADEg==","ARC-Message-Signature":"i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com;\n s=arc-20240605;\n h=content-transfer-encoding:cc:to:subject:message-id:date:from\n :in-reply-to:references:mime-version:dkim-signature;\n bh=QuwHzur0DyTT6fAN7548X05vvqlUKr6sImf2XcXe9sE=;\n fh=GXHfAlJ/6X2AwUx1/0SLYvxEMtIA+GT8GRmsxIfO/fo=;\n b=AGV+MgMBwXJpMkr6YwgNOrr2sSRdyhwZ+lZwqlCLDu2Ez4ASUUO+6VvI3+tuiPaaOj\n sfQfyO66buyywgSahQlyb7YlcbAdIVy1FRjQ5nyASSbMc5fpEuW48fhnw6Ygg7jY/K+q\n CWm6u38ihUkiSaiqOzs/a+wGNglVAOzC1lmVnAWpladUGyNR50NV5aWcbRQmVe0xNtm+\n BZ7KnQkz1hII4QP319JTY3WKiLwKLzyhNtHy2kazFR9HU19SIKy/UXnaB9oj4S0CDk9P\n z42dNOqxcxMC+KdcHwMnuOGwUyUdOoIrwlifEqL+UY/2MmIUPXu+XRbSJbGp5ZIEgFDx\n gLIQ==; darn=lists.osuosl.org","ARC-Authentication-Results":"i=1; mx.google.com; arc=none","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1776704603; x=1777309403;\n h=content-transfer-encoding:cc:to:subject:message-id:date:from\n :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from\n :to:cc:subject:date:message-id:reply-to;\n bh=QuwHzur0DyTT6fAN7548X05vvqlUKr6sImf2XcXe9sE=;\n b=Wd72PWZJjw1lwBh239nDvHJ1uqSv0urLKpeZLlHeqnE5RCZ79MkMjJX1RWV6ZZ0yzk\n rd7NY0N+YZo8bVnL8OEaFDBc/fORgQrUUbcvFI0Og1PfnihMQ40cyoT5J+Jm3IL4sIs1\n 1sBAksi8QXiu0A20c1nWaIfTjpCqmmb+GacLd5ApxqFx8mxiUYkXEWH40rD8BAhWbw8+\n govHCPBggROpvnm4uXR/vZDqMjmhclqszQ0SrG6mA1u0Vbprpsga4T6tPcJyW4gt3tU0\n R3LohaUvsIsDzHnAuxxoMluWkYbR12xa95EVi2yT7mpRO8UWiUKq6IiGhtjDQooEy6Qy\n ZppQ==","X-Forwarded-Encrypted":"i=1;\n AFNElJ/w2jFEy82gsMV8sO+8wDKX2F5BNga6GfNtfn0YVhSsiLj7czAMaWaNvedJqMDpS2sTv9BhN3JPDHz1c74NOZk=@lists.osuosl.org","X-Gm-Message-State":"AOJu0YwRY0D0RWHOWQEOaMfmYijdHSEM7d+S4ZWZ4P8baCozXQMy9jKS\n Ltk5C80pss+ytZt+42tV1QHP1kIpq77Dk0mdmOe3dymwi25tFpEfyA6ni1s4khufEB0Q3hSN+19\n 4EWSCcJaL3NhlOLhVAzL1s4fNGaZj/rSdBedhFqEa","X-Gm-Gg":"AeBDiesY0GkNQB3iU705mZX5ewTVDG5XlOYlX6aPQhMUsPD+WNAotyJwFzK9kA+K67K\n Bo23JkcgmBAs9aErNwdK8jZo2MwFSkaaoLWQ3ac7wybDI279EFw+scPOUIMp24CmRK+6mU48/bK\n NSKvdjTuI8ZUEKnTylkIbELLAnEBHcIyqIt6eUTyeV3LAY2OHSh8iCJvjvUp6caeAJAQakQN9P4\n oaoBDJYhk/jAhVy0s7VePdATp5Ybag1j6gzDSPDueUEBMZerG/5Ve4UhMM1XUgdpoiUuqXKuN1u\n GzjiT1QXw40tfXgGaWJ6spuWk5x9WxUq3PN+pn3snoS4cli7YNv8wQI7/6c=","X-Received":"by 2002:a05:690e:124a:b0:650:1bc2:7e18 with SMTP id\n 956f58d0204a3-65310803466mr14402341d50.1.1776704601042; Mon, 20 Apr 2026\n 10:03:21 -0700 (PDT)","MIME-Version":"1.0","References":"<20260419192555.3631327-1-boolli@google.com>\n <PH7PR11MB59834C3C7785D1E69B7E954EF32F2@PH7PR11MB5983.namprd11.prod.outlook.com>","In-Reply-To":"\n <PH7PR11MB59834C3C7785D1E69B7E954EF32F2@PH7PR11MB5983.namprd11.prod.outlook.com>","Date":"Mon, 20 Apr 2026 10:03:08 -0700","X-Gm-Features":"AQROBzCRU8m1PocV3KnbRH0zjFz61ZPVhxSInF_uNWzvauXiSpZzp7JJjroMqgY","Message-ID":"\n <CAODvEq41VxdJ+nmM49eNo4d4VYBoDF69hzQUe8dUP9RoAuxxGA@mail.gmail.com>","To":"\"Kwapulinski, Piotr\" <piotr.kwapulinski@intel.com>","Cc":"\"Nguyen, Anthony L\" <anthony.l.nguyen@intel.com>,\n \"Kitszel, Przemyslaw\" <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\" <intel-wired-lan@lists.osuosl.org>,\n \"netdev@vger.kernel.org\" <netdev@vger.kernel.org>,\n \"linux-kernel@vger.kernel.org\" <linux-kernel@vger.kernel.org>,\n David Decotigny <decot@google.com>,\n \"Singhai, Anjali\" <anjali.singhai@intel.com>,\n \"Samudrala, Sridhar\" <sridhar.samudrala@intel.com>,\n Brian Vazquez <brianvv@google.com>,\n \"Tantilov, Emil S\" <emil.s.tantilov@intel.com>, stable@vger.kernel.org","Content-Type":"text/plain; charset=\"UTF-8\"","Content-Transfer-Encoding":"quoted-printable","X-Mailman-Original-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=google.com; s=20251104; t=1776704603; x=1777309403; darn=lists.osuosl.org;\n h=content-transfer-encoding:cc:to:subject:message-id:date:from\n :in-reply-to:references:mime-version:from:to:cc:subject:date\n :message-id:reply-to;\n bh=QuwHzur0DyTT6fAN7548X05vvqlUKr6sImf2XcXe9sE=;\n b=syGqNIjsocYV4gbry0udrgOsNlCLb7Mp4N4plqLCSWHW6FOfGFUiSKgTIKBLqi+MgX\n ONejYViIizabMBvpUiwBtAM3O+QHdGVSa+NwYdBKQtINmA7cXxIAqZ0Trp+BZ1OpNyhL\n jI/qKPE6g0n1wh57Nk4Xu1Ij5CycnT49ih7dweNRtaPm0SwgszjYjRMmcTNUEWUQYZCV\n 32R5Fg0OA8yls8Jnlh0IhlZ53DcAWTHssez68ReT/9ZbQgGmiXF/h/jSKESolRDPQ9WT\n bb4gto/vWHoPtlmRNcYHVBCe5Pd5I3LCmn4L2cygnD4itaMR8s3mEknxRRsiO7HUYgK9\n uH1w==","X-Mailman-Original-Authentication-Results":["smtp4.osuosl.org;\n dmarc=pass (p=reject dis=none)\n header.from=google.com","smtp4.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=syGqNIjs"],"Subject":"Re: [Intel-wired-lan] [PATCH] idpf: do not perform flow ops when\n 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>"}},{"id":3679628,"web_url":"http://patchwork.ozlabs.org/comment/3679628/","msgid":"<0119d579-f847-4c1c-bf4d-a31b352420ea@intel.com>","list_archive_url":null,"date":"2026-04-20T23:44:37","subject":"Re: [Intel-wired-lan] [PATCH] idpf: do not perform flow ops when\n netdev is detached","submitter":{"id":9784,"url":"http://patchwork.ozlabs.org/api/people/9784/","name":"Jacob Keller","email":"jacob.e.keller@intel.com"},"content":"On 4/19/2026 12:25 PM, Li Li wrote:\n> Even though commit 2e281e1155fc (\"idpf: detach and close netdevs while\n> handling a reset\") prevents ethtool -N/-n operations to operate on\n> detached netdevs, we found that out-of-tree workflows like OpenOnload\n> can bypass ethtool core locks and call idpf_set_rxnfc directly during\n> an idpf HW reset. When this happens, we could get kernel crashes like\n> the 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> [ 4045.964142]  ? __die_body.cold+0x8/0x12\n> [ 4045.968000]  ? page_fault_oops+0x148/0x160\n> [ 4045.972117]  ? exc_page_fault+0x6f/0x160\n> [ 4045.976060]  ? asm_exc_page_fault+0x22/0x30\n> [ 4045.980262]  ? idpf_del_flow_steer+0x24/0x170 [idpf]\n> [ 4045.985245]  idpf_set_rxnfc+0x6f/0x80 [idpf]\n> [ 4045.989535]  af_xdp_filter_remove+0x7c/0xb0 [sfc_resource]\n> [ 4045.995069]  oo_hw_filter_clear_hwports+0x6f/0xa0 [onload]\n> [ 4046.000589]  oo_hw_filter_update+0x65/0x210 [onload]\n> [ 4046.005587]  oof_hw_filter_update.constprop.0+0xe7/0x140 [onload]\n> [ 4046.011716]  oof_manager_update_all_filters+0xad/0x270 [onload]\n> [ 4046.017671]  __oof_do_deferred_work+0x15e/0x190 [onload]\n> [ 4046.023014]  oof_do_deferred_work+0x2c/0x40 [onload]\n> [ 4046.028018]  oof_do_deferred_work_fn+0x12/0x30 [onload]\n> [ 4046.033277]  process_one_work+0x174/0x330\n> [ 4046.037304]  worker_thread+0x246/0x390\n> [ 4046.041074]  ? __pfx_worker_thread+0x10/0x10\n> [ 4046.045364]  kthread+0xf6/0x240\n> [ 4046.048530]  ? __pfx_kthread+0x10/0x10\n> [ 4046.052297]  ret_from_fork+0x2d/0x50\n> [ 4046.055896]  ? __pfx_kthread+0x10/0x10\n> [ 4046.059664]  ret_from_fork_asm+0x1a/0x30\n> [ 4046.063613]  </TASK>\n> \n> To prevent this, we need to add checks in idpf_set_rxnfc and\n> idpf_get_rxnfc to error out if the netdev is already detached.\n> \n> Tested: implemented the following patch to synthetically force idpf into\n> a HW reset:\n> \n> diff --git a/drivers/net/ethernet/intel/idpf/idpf_txrx.c b/drivers/net/ethernet/intel/idpf/idpf_txrx.c\n> index 4fc0bb14c5b1..27476d57bcf0 100644\n> --- a/drivers/net/ethernet/intel/idpf/idpf_txrx.c\n> +++ b/drivers/net/ethernet/intel/idpf/idpf_txrx.c\n> @@ -10,6 +10,9 @@\n>  #define idpf_tx_buf_next(buf)\t\t(*(u32 *)&(buf)->priv)\n>  LIBETH_SQE_CHECK_PRIV(u32);\n> \n\nPatchwork, and likely other git tools based around plain text mail do\nnot work kindly with an embedded diff inside the commit message. Could\nyou please resubmit with an updated commit message that doesn't simply\ninsert the raw diff? Perhaps you could indent the diff by a few spaces,\nor simply describe what modifications were required to force the failure.\n\nAlso you didn't mention the target tree, which I think should be iwl-net.\n\nThanks,\nJake\n\n> +static bool SIMULATE_TX_TIMEOUT;\n> +module_param(SIMULATE_TX_TIMEOUT, bool, 0644);\n> +\n>  /**\n>   * idpf_chk_linearize - Check if skb exceeds max descriptors per packet\n>   * @skb: send buffer\n> @@ -46,6 +49,8 @@ void idpf_tx_timeout(struct net_device *netdev, unsigned int txqueue)\n> \n>  \tadapter->tx_timeout_count++;\n> \n> +\tSIMULATE_TX_TIMEOUT = false;\n> +\n>  \tnetdev_err(netdev, \"Detected Tx timeout: Count %d, Queue %d\\n\",\n>  \t\t   adapter->tx_timeout_count, txqueue);\n>  \tif (!idpf_is_reset_in_prog(adapter)) {\n> @@ -2225,6 +2230,8 @@ static bool idpf_tx_clean_complq(struct idpf_compl_queue *complq, int budget,\n>  \t\t\tgoto fetch_next_desc;\n>  \t\t}\n>  \t\ttx_q = complq->txq_grp->txqs[rel_tx_qid];\n> +\t\tif (unlikely(SIMULATE_TX_TIMEOUT && (tx_q->idx % 2 == 1)))\n> +\t\t\tgoto fetch_next_desc;\n> \n>  \t\t/* Determine completion type */\n>  \t\tctype = le16_get_bits(tx_desc->common.qid_comptype_gen,\n> diff --git a/drivers/net/ethernet/intel/idpf/idpf_virtchnl.c b/drivers/net/ethernet/intel/idpf/idpf_virtchnl.c\n> index be66f9b2e101..ba5da2a86c15 100644\n> --- a/drivers/net/ethernet/intel/idpf/idpf_virtchnl.c\n> +++ b/drivers/net/ethernet/intel/idpf/idpf_virtchnl.c\n> @@ -8,6 +8,9 @@\n>  #include \"idpf_virtchnl.h\"\n>  #include \"idpf_ptp.h\"\n> \n> +static bool VIRTCHNL_FAILED;\n> +module_param(VIRTCHNL_FAILED, bool, 0644);\n> +\n>  /**\n>   * struct idpf_vc_xn_manager - Manager for tracking transactions\n>   * @ring: backing and lookup for transactions\n> @@ -3496,6 +3499,11 @@ int idpf_vc_core_init(struct idpf_adapter *adapter)\n>  \t\tswitch (adapter->state) {\n>  \t\tcase __IDPF_VER_CHECK:\n>  \t\t\terr = idpf_send_ver_msg(adapter);\n> +\n> +\t\t\tif (unlikely(VIRTCHNL_FAILED)) {\n> +\t\t\t\terr = -EIO;\n> +\t\t\t}\n> +\n>  \t\t\tswitch (err) {\n>  \t\t\tcase 0:\n>  \t\t\t\t/* success, move state machine forward */\n> \n> And tested by writing 1 to /sys/module/idpf/parameters/VIRTCHNL_FAILED\n> and /sys/module/idpf/parameters/SIMULATE_TX_TIMEOUT, and running\n> idpf_get_rxnfc() right after the HW reset.\n> \n> Without the patch: encountered NULL pointer and kernel crash.\n> \n> With the patch: no crashes.\n> \n> Fixes: 2e281e1155fc (\"idpf: detach and close netdevs while handling a reset\")\n> Signed-off-by: Li Li <boolli@google.com>\n> ---\n>  drivers/net/ethernet/intel/idpf/idpf_ethtool.c | 6 ++++++\n>  1 file changed, 6 insertions(+)\n> \n> diff --git a/drivers/net/ethernet/intel/idpf/idpf_ethtool.c b/drivers/net/ethernet/intel/idpf/idpf_ethtool.c\n> index 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:","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=dceoKjM4;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=osuosl.org\n (client-ip=2605:bc80:3010::136; helo=smtp3.osuosl.org;\n envelope-from=intel-wired-lan-bounces@osuosl.org;\n receiver=patchwork.ozlabs.org)"],"Received":["from smtp3.osuosl.org (smtp3.osuosl.org [IPv6:2605:bc80:3010::136])\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 4g02CY3ztDz1yHB\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 21 Apr 2026 09:44:55 +1000 (AEST)","from localhost (localhost [127.0.0.1])\n\tby smtp3.osuosl.org (Postfix) with ESMTP id 2D13C610F0;\n\tMon, 20 Apr 2026 23:44:53 +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 zQDilOCTkKRg; Mon, 20 Apr 2026 23:44:51 +0000 (UTC)","from lists1.osuosl.org (lists1.osuosl.org [140.211.166.142])\n\tby smtp3.osuosl.org (Postfix) with ESMTP id CC376610EB;\n\tMon, 20 Apr 2026 23:44:51 +0000 (UTC)","from smtp3.osuosl.org (smtp3.osuosl.org [IPv6:2605:bc80:3010::136])\n by lists1.osuosl.org (Postfix) with ESMTP id 87BB8257\n for <intel-wired-lan@lists.osuosl.org>; Mon, 20 Apr 2026 23:44:50 +0000 (UTC)","from localhost (localhost [127.0.0.1])\n by smtp3.osuosl.org (Postfix) with ESMTP id 6CECE610EB\n for <intel-wired-lan@lists.osuosl.org>; Mon, 20 Apr 2026 23:44:50 +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 VAFEaKC-MUsX for <intel-wired-lan@lists.osuosl.org>;\n Mon, 20 Apr 2026 23:44:49 +0000 (UTC)","from mgamail.intel.com (mgamail.intel.com [198.175.65.12])\n by smtp3.osuosl.org (Postfix) with ESMTPS id E1230610EA\n for <intel-wired-lan@lists.osuosl.org>; Mon, 20 Apr 2026 23:44:48 +0000 (UTC)","from orviesa009.jf.intel.com ([10.64.159.149])\n by orvoesa104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 20 Apr 2026 16:44:46 -0700","from fmsmsx903.amr.corp.intel.com ([10.18.126.92])\n by orviesa009.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 20 Apr 2026 16:44:46 -0700","from FMSMSX902.amr.corp.intel.com (10.18.126.91) by\n fmsmsx903.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server\n (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.2.2562.37; Mon, 20 Apr 2026 16:44:45 -0700","from fmsedg902.ED.cps.intel.com (10.1.192.144) by\n FMSMSX902.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server\n (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.2.2562.37 via Frontend Transport; Mon, 20 Apr 2026 16:44:45 -0700","from CH1PR05CU001.outbound.protection.outlook.com (52.101.193.53) by\n edgegateway.intel.com (192.55.55.82) with Microsoft SMTP Server\n (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.2.2562.37; Mon, 20 Apr 2026 16:44:43 -0700","from DS0PR11MB7579.namprd11.prod.outlook.com (2603:10b6:8:14d::5) by\n SA2PR11MB5081.namprd11.prod.outlook.com (2603:10b6:806:118::16) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9846.8; Mon, 20 Apr\n 2026 23:44:40 +0000","from DS0PR11MB7579.namprd11.prod.outlook.com\n ([fe80::4199:4cb5:cf88:e79e]) by DS0PR11MB7579.namprd11.prod.outlook.com\n ([fe80::4199:4cb5:cf88:e79e%5]) with mapi id 15.20.9846.014; Mon, 20 Apr 2026\n 23:44:40 +0000"],"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 smtp3.osuosl.org CC376610EB","OpenDKIM Filter v2.11.0 smtp3.osuosl.org E1230610EA"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=osuosl.org;\n\ts=default; t=1776728691;\n\tbh=Fn39R49cvvCQiee+nSTgKD5AhfYhQxX0XlPGn3GGFeY=;\n\th=Date:To:CC:References:From:In-Reply-To:Subject:List-Id:\n\t List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe:\n\t From;\n\tb=dceoKjM4gaEZnTkjEgdItwfwPu9KBW0/XqpTl4dFyU22u6hjL/OiA0+YhyOzE3ZEw\n\t 4nq9LLLHK1e2DXAQKSWfnGlfgQ6jkzZmAWcl0ut8Rf6J5m9aOXzCyzaDoSCKQMApZL\n\t lhT+inrvvGpZcaJhs3jtmJmgUh2BYwDkcPUqdXoOOxVSc37KNBOlFnPKvw4iLFnb4i\n\t 6iKszkZIptVOqFBYm1QUaCbqLMm+wkY7XOwc6KIPIcYB/+l3+io8IR8oaznAKSFM45\n\t 18R+QTZczwv31Dj7lBLLQy4bRBORZdMZAVkcjd5fbkOVJcNVh2bzbPGrb1EbnSUsyK\n\t J7kaPO/FQ/5Vw==","Received-SPF":"Pass (mailfrom) identity=mailfrom; client-ip=198.175.65.12;\n helo=mgamail.intel.com; envelope-from=jacob.e.keller@intel.com;\n receiver=<UNKNOWN>","DMARC-Filter":"OpenDMARC Filter v1.4.2 smtp3.osuosl.org E1230610EA","X-CSE-ConnectionGUID":["vgrewSM5SnuxuROZFDDXGw==","wMbx63H6R8uA9OFezW78Kw=="],"X-CSE-MsgGUID":["faxX8gLRTlOu/qZxa7CHXQ==","53a5XD53SZKhHlnjy6ZdSA=="],"X-IronPort-AV":["E=McAfee;i=\"6800,10657,11762\"; a=\"89124035\"","E=Sophos;i=\"6.23,190,1770624000\"; d=\"scan'208\";a=\"89124035\"","E=Sophos;i=\"6.23,190,1770624000\"; d=\"scan'208\";a=\"231737429\""],"X-ExtLoop1":"1","ARC-Seal":"i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=gP67qtgKmRpDdnTTwQOZ6ecdZm75aF09AaIqGgkYBJ0yhqAJ6PneWZe8S5xyJiKRDhvgc9ZEjIS5ygDkw03BaJlAC1B/ZRk3FW2r75Wgx2owgeP+H6vkJm0fasYIR644OXzeNPGeDsVv16xIYSSP25BCeSPRdqPNP7Ev9E4fQq7INgm6u0EYKCFcqXsVVC7r/4VFtvmspTZB8IkJfm0yKx0Bh1S/Ouj3Q/drk9PY3aumGKtFaMtlLyErGjtLkGcqs1XsqR14L8Udz/pFwuVdy/xyK9x6NpbCMTdJeAP10NBBdkFl2yg6fT07N5bV4EMyRcZzM7nabDXlXx5Hl0Jj+Q==","ARC-Message-Signature":"i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector10001;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;\n bh=Fn39R49cvvCQiee+nSTgKD5AhfYhQxX0XlPGn3GGFeY=;\n b=lOc05c2FJSfNwmolyVUEFK2A9aNhZTvsnMJTY2fEjc+WabUXFC2ZFIcVU7cDSiD1sctR8n+9u6OVKE39kwVJ+MIHjAuPSwPs6G4EOY1j/98eztTk2+bhCzlBBITcc3A2jtKAlGyy+5QICEB4SaxRjWjvybOTXp+aMJfEYQ9nKpiYE8wJhz1KsIztw5y+3tAz0HzoggPJHg9Dc1o4b51uSxyaU9wo8xZwe/mlxjjC3iJDQipNuKfwm4+x61RPz3lzQ4oQbIxRf4MclVNPBIRDLbuMpmmPrJto6DSLVyIE6kXextZfoO9ljKEXtO+h4cAFNoCPTdbL9uXEepcc/rMLdg==","ARC-Authentication-Results":"i=1; mx.microsoft.com 1; spf=pass\n smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com;\n dkim=pass header.d=intel.com; arc=none","Message-ID":"<0119d579-f847-4c1c-bf4d-a31b352420ea@intel.com>","Date":"Mon, 20 Apr 2026 16:44:37 -0700","User-Agent":"Mozilla Thunderbird","To":"Li Li <boolli@google.com>, Tony Nguyen <anthony.l.nguyen@intel.com>,\n Przemek Kitszel <przemyslaw.kitszel@intel.com>, \"David S. Miller\"\n <davem@davemloft.net>, Jakub Kicinski <kuba@kernel.org>, Eric Dumazet\n <edumazet@google.com>, <intel-wired-lan@lists.osuosl.org>","CC":"<netdev@vger.kernel.org>, <linux-kernel@vger.kernel.org>, David Decotigny\n <decot@google.com>, Anjali Singhai <anjali.singhai@intel.com>, \"Sridhar\n Samudrala\" <sridhar.samudrala@intel.com>, Brian Vazquez <brianvv@google.com>,\n <emil.s.tantilov@intel.com>","References":"<20260419192555.3631327-1-boolli@google.com>","Content-Language":"en-US","From":"Jacob Keller <jacob.e.keller@intel.com>","In-Reply-To":"<20260419192555.3631327-1-boolli@google.com>","Content-Type":"text/plain; charset=\"UTF-8\"","Content-Transfer-Encoding":"7bit","X-ClientProxiedBy":"MW4PR04CA0337.namprd04.prod.outlook.com\n (2603:10b6:303:8a::12) To DS0PR11MB7579.namprd11.prod.outlook.com\n (2603:10b6:8:14d::5)","MIME-Version":"1.0","X-MS-PublicTrafficType":"Email","X-MS-TrafficTypeDiagnostic":"DS0PR11MB7579:EE_|SA2PR11MB5081:EE_","X-MS-Office365-Filtering-Correlation-Id":"65ed8fd1-a39a-438b-d06d-08de9f36ca09","X-MS-Exchange-SenderADCheck":"1","X-MS-Exchange-AntiSpam-Relay":"0","X-Microsoft-Antispam":"BCL:0;\n ARA:13230040|376014|366016|1800799024|18002099003|22082099003|56012099003;","X-Microsoft-Antispam-Message-Info":"\n cjLMZJrJ2BsSjTdWY/8WGJM4YI3CsEW02YHCZHPeWoE4rObEmYTqyJ4aVoVhGR34VeH5VHr95z1BzaJ+1vB9gGfHOlJ3yLA5x0EyqnRYtOSoUzrX4R6JQkGR8h/anHQ81cwz3Cm3wfulKtTNSZrclFGPS0RsBX9s7hAeGuEVtxzjOQJxcitLO89YmgAaNoj9VRzH5QElOUf0vLc7ZEckD1as8+A6jFKQA2uF8cLAq5lIHh7OSpZLrc+19A+0aSk5zkh4LWKV2YDpLNAVg/sgNzFkEBwY/bxBC2tAPV0i8E5eZ7/Fx7I32685e81xODCATQnmsq4CLSX11mFaxeY377PNVCDoID6s6BaWfZzONyv01ivlmF5Uhus/TnxpQxQ9w6DZPbU+SnKb3OZHxoj76mMmEWq7y0tPn4qNrRvQo3tvi6PT6kGmmxfog8WVSGIfHb2TxgieWlzaUuzRHgiWzwqfZKLLcJlXP4gpJBsf9RHWJ/A+i3c9xxGibFRYOSd0ELv8ReT9seZMFV/L5AiFco/r+LiHGQrW0mS0ZsQ6R6tqMY9zioszepgPw1ncKNeM4nfxNGwhCi9Y5IDTBx5WTTjgMHExtViJrkiDIkQfnmuiNfkPCjOmgeOOGCOisOSvZzWQT6txJ2fCu7pI55oMWD+HqM+eTrKG6rggzHjNFmuavBg6vRTRwAcdvckd2Sojk8BoiC3BRzBepEq24iSiCEHyiJzbE9qLL+kAA/5YKqM=","X-Forefront-Antispam-Report":"CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;\n IPV:NLI; SFV:NSPM; H:DS0PR11MB7579.namprd11.prod.outlook.com; PTR:; CAT:NONE;\n SFS:(13230040)(376014)(366016)(1800799024)(18002099003)(22082099003)(56012099003);\n DIR:OUT; SFP:1101;","X-MS-Exchange-AntiSpam-MessageData-ChunkCount":"1","X-MS-Exchange-AntiSpam-MessageData-0":"=?utf-8?q?TUSJMY+9F+MW8ugZJ5GiHKMypnY/?=\n\t=?utf-8?q?RDYn4HSOjDlG6O6g2ampOoBKu0ck4QTNXdy2tJvitKzHYYCeVHSLTNrCdEPbPyTUU?=\n\t=?utf-8?q?hPvfDSnUmCri8gsxNX/7mgmtvvcxfJQyAnjESWBIGBlk7wxG37idlPEo/5f3I5DDm?=\n\t=?utf-8?q?HMv6xNmqgIUFMy8i9f7LOCEBkgZLmGPsF03Gfq9qnESbVAUXBk26zcpL5Xd0RpsXG?=\n\t=?utf-8?q?p2FdHiG7++5GFFUYx4l4XHKFDjKo2ry2pT+swyS9l3L5V7ozkSE9viatkTk34G+ZH?=\n\t=?utf-8?q?H4VRYPaBceZnwovFluQzBIb3u8QL+ZKElfGeYw1K5nGRMAnaxyWpP8woH37CaWohS?=\n\t=?utf-8?q?HkxsyHUc/cpMxcpT7prV5mtaYyVqFnm3s7NOXY1tM9ks9VqzcEvaZQ+aZWgiivDd+?=\n\t=?utf-8?q?ewWsey1o1wu9Jw/zGhDBRZ0MfiX+drU6iGI5ssJ/EWnTLw2uN/UGA72fR/k1CGOUa?=\n\t=?utf-8?q?7OAWqsNGGL0dMcRoKtRgVIUzDrDdat4GPPHzZ1V46X9gLdmNF5BFqDjxOvrrgoG6A?=\n\t=?utf-8?q?VvMEic40n26WCFKxmPnvq/4Rng63Fx/qZi6g75CCSJtMV4exVUTogHWwLem3cF2Gg?=\n\t=?utf-8?q?KV1xr14vrNwXX1evgNWCRMwzwWFeugcb70ZhYic2G9D8DJMXGuTcjo2ORMDfZoAD7?=\n\t=?utf-8?q?onIsEAX4qX2eKFeuUnhFw47ggvCZk+ZS0vNfRklFYjp1J088AgT7+9SwIyLeyJK+Y?=\n\t=?utf-8?q?cZ1R1FZP87htPXDo4S55Bikjzjl32L03Ok4bmUjY/NioZM1G5eU9CxMHz/wXvHN4H?=\n\t=?utf-8?q?Ol3bXl0M+rKbPshsIPB49b49XI51COt8rVDjx/dgHJJ40aEkV/+blRLO6XtfIOydY?=\n\t=?utf-8?q?WEpFww3t6ka+oz7qpzZaeWVNTFgbu4oahRUCo8IZYFS2SoQ65E7eLhCRHTGyToVEB?=\n\t=?utf-8?q?3RTm2xPArJwYEYfGp+bolyh6DRovxOXPrJt3+e4YtDkxJ8PvDrVf1/6qi+kdwY8D0?=\n\t=?utf-8?q?AAg9vUYFppdM3ZVkl4MSHbVKwiQaVNdNRbGlKZZGXvGtRb/6+0we+qjQtjGQXAZgZ?=\n\t=?utf-8?q?uFP8v6+fRzuODIVBCkewMrEm5IKovJsSAgeruFzkBe2x5FuQRQqzz4BOmXlV7RRK8?=\n\t=?utf-8?q?xD/OBwokiTFqygO8LnlK1iSyIFez/a4yP57Kgf27/35Y9mETjrpm7qC1mbb5uvvrj?=\n\t=?utf-8?q?NukX7v3b0yJiUDxwegv9crqpLVSu2Upd3j3v15MttPdnxzOnSSLzS/xi6gN1i1xp3?=\n\t=?utf-8?q?N9nbKh/1BQjsbi1fYPX1sQz27PyCsvMFLl5d+rVtm8TUDVuNfxYX3iQVTuUdlGyS3?=\n\t=?utf-8?q?m/crpMHqZo12n50FYXJGGXv8xVR1zlJNjE8+/zzp9q/x1i8SR8xpdDqeCfzJ7svGJ?=\n\t=?utf-8?q?48FegcM3uHajzlRjLSOzgmuCNqzPjssjm26PL0r4RI+0yQS6XKA+SAmb7cwQpyDk+?=\n\t=?utf-8?q?NaBkN7/N+1tEjVzluNjij4TOzkY+XDiQ2/eAQOuyUOxJXmZINGVb8wzQkOTpNOYR1?=\n\t=?utf-8?q?RmMrcnf47uqQC7RGtVOJf0/KPfU7wI7Xoq2o9WkiJpI98sK2sHORFbuv+W02DmCrc?=\n\t=?utf-8?q?dpSVkP9alDv6WHQEK53MaiccoJTi42kr0/OWr4E/SXcTRPKIH+rEzePhVSAlpwY6F?=\n\t=?utf-8?q?1aI6yj1UCCM7kHI3mMNUiURrGVceTvRh37bo7/3Ls2ke7aFZhWPGo2NntzGBPnPUk?=\n\t=?utf-8?q?KHGopANdvGE4pxbcn3pkB/Z9AJaqqpEA=3D=3D?=","X-Exchange-RoutingPolicyChecked":"\n EbFZUQ+hWUZymx9DIePtDhTYyWEfzUDKGp2MMhs5NB6TFu+RI+BOisdA2hfA0x+Fm1+7/AyftD12RxJdKlE0YtkAqRXbroNxsf+dtSdvKrKCcniGaufj/Ar7q+fwBXcUBfufSrtBOh1lT7I2yvk8g+mDng2st0Rv2GNYfxTmEBQMfY8aqKgpxpvuMwzn05feq+/SplhvPEsfW82qeLAmwyXt8pKph/84wG/NdLJoXU1IxqleBMMbgmEAG9mGGOxG1F3f/QIHR4C7Y42Y4hFVuoUr+b0dl/3sVlE4Ef2wDIzhQg4wNiW9Uho5+PSnxbZ9GpCcLmjEeU0VHDdwV6rULw==","X-MS-Exchange-CrossTenant-Network-Message-Id":"\n 65ed8fd1-a39a-438b-d06d-08de9f36ca09","X-MS-Exchange-CrossTenant-AuthSource":"DS0PR11MB7579.namprd11.prod.outlook.com","X-MS-Exchange-CrossTenant-AuthAs":"Internal","X-MS-Exchange-CrossTenant-OriginalArrivalTime":"20 Apr 2026 23:44:40.2155 (UTC)","X-MS-Exchange-CrossTenant-FromEntityHeader":"Hosted","X-MS-Exchange-CrossTenant-Id":"46c98d88-e344-4ed4-8496-4ed7712e255d","X-MS-Exchange-CrossTenant-MailboxType":"HOSTED","X-MS-Exchange-CrossTenant-UserPrincipalName":"\n nIhYMNeuDQmYI1+CsM7ae9QT2w3kWDv5+HSYi9jSehIPaGH0tvDmedZ6PC5p4evGfooQOb/u4pGHvWnT6xnRyWKyo4SVG//u546b2qXsNTg=","X-MS-Exchange-Transport-CrossTenantHeadersStamped":"SA2PR11MB5081","X-OriginatorOrg":"intel.com","X-Mailman-Original-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple;\n d=intel.com; i=@intel.com; q=dns/txt; s=Intel;\n t=1776728689; x=1808264689;\n h=message-id:date:subject:to:cc:references:from:\n in-reply-to:content-transfer-encoding:mime-version;\n bh=7/86dq+TUwZp4aQDaoYD7s1ooWB+lkeTRj3PQrXX9co=;\n b=NQ3Vmb+ynsl7mpc0CnntfX1M4OxP5wr34DpyRvWIfm74Y5uZiUixNc+2\n go1Zxen9jkg/l4XF3Qy6W8msizOTqw16Ml5f9raSGrWJO6vzDDs4s8Ru0\n q3YzqgUi2tORVZGm09KfuSU0MSQttg+PyB5NpsOdAwQ7Yshijts5D4FWn\n l9YKbBt1aHY1YlVzn4JMLLsN2nq6KrHZkCWj8C2u7INPiTKPyI9iU2dLE\n 5xWr2qS59vMa38yJaq3FihCqTDQUvMGhrRzWZdaw93XEauto1x1jck0iW\n qIG6IdSOLkPu5sCafevxM+0wpKsq1uO3jE8b4nEz0zsbuNPHHBqE4OYVE\n Q==;","X-Mailman-Original-Authentication-Results":["smtp3.osuosl.org;\n dmarc=pass (p=none dis=none)\n header.from=intel.com","smtp3.osuosl.org;\n dkim=pass (2048-bit key,\n unprotected) header.d=intel.com header.i=@intel.com header.a=rsa-sha256\n header.s=Intel header.b=NQ3Vmb+y","dkim=none (message not signed)\n header.d=none;dmarc=none action=none header.from=intel.com;"],"Subject":"Re: [Intel-wired-lan] [PATCH] idpf: do not perform flow ops when\n 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>","Errors-To":"intel-wired-lan-bounces@osuosl.org","Sender":"\"Intel-wired-lan\" <intel-wired-lan-bounces@osuosl.org>"}}]