From nobody Fri Jun 12 18:34:03 2026 Received: from OSPPR02CU001.outbound.protection.outlook.com (mail-norwayeastazon11013000.outbound.protection.outlook.com [40.107.159.0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BF1273909B8; Wed, 13 May 2026 10:56:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.159.0 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778669818; cv=fail; b=kSDjaLTCtf+rkVmlxhsXIZPShu+CJZzbkORvfEHZ84nejVvqsCcD/2IICxnJevU65Qjfhv/u5l/u1G9XN5njBl6aR7xymYwYZBawdxCYUZ1om8Z+hlH387ZS+iHtftDdplNXn6Qgh41O7UVz5VeChAzVuaHBxyMZJJ730hNcqIg= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778669818; c=relaxed/simple; bh=fh7niOxEmGHCcyDMZXx8AjxDifr64F7uhehvA3RWPrs=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=EQSOwYCaUhoSAa2Rgd781+G2Cifc31x/ZLY4u9GHkd+fwigQmT+UfwJeIoci5fTCsa/+fDWVxIL5EOKNmcyEQZ7DY+kbcFToGiVDxxqKJFkRoU5Siqkt5FDvMtt0LQoFA9IRrKyQu3Yxd34XziooetYSf6+VRK86ngT41tkDFfk= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=N0WHCTUd; arc=fail smtp.client-ip=40.107.159.0 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="N0WHCTUd" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=J8cJq3LlFCoQWATJ705/SH4+a9r+DRu7R60jJxxlNNTkZZ0an2d9itRorJ5sCCgWxa2Yh5Z/jXkKNt6jzVAywpyT/XZGiR+HGlPKT/nqYF9jcO4y0vfnF1DRYTPQzNqytyiaugzyt4Q2FNgw6vPPzPYesfLso7F+g93oWgO+w/fMypRUqYZbDQjXDMXljpKx/2EkWqYFdPXHwEAzm/H4nUMmnRhTb/fJclWsCeQh3NPP7ak8TkAI99DhxDsNFZRGe6LUe2kPH787na2sq++FqcD/H1TDtEQdGJ1svmq6zBp1yuqPXPMPjDZdWFxIkM/mvTZAddKFKTmFsPFyukZDlA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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; bh=333t3grl8PdiRXyo7BQfOGUaSJJGyzmSPOB0dYgjkqs=; b=GNDhK35Sr95KvpWij93wwcl08r5H9Xoe20OkbjiBGIeM5GXp0q3R9Ep07LYsQ56GYiGTPFAVWRJdh7cKPJzrEtP71/v4JTiRJ+HYblH7/4296UdRqBzff3nggXpQhA75UE1yF4MlDejYUYVqMpORW+Fv1x3p3mUYISEkebzjSgILyUSqPwCn0KjvZ+9RS7Th1Akg3YDS9+MkajoSyAnapGtw0RROOqUVcppmD9MiCY2cc7F2IIIoGrLzaW38XuFtnOdgGnSbPxxdHHEqE2Lqxx50ocLZ4/NPSU3lQPDayl90pd6J61i7YeFPhE9LeZ9sGcezE/kYMa0HcWilA6+bbQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=333t3grl8PdiRXyo7BQfOGUaSJJGyzmSPOB0dYgjkqs=; b=N0WHCTUdmWnzouwkdpbhK+dKmF521fJCF470Y2Ojjw/QLjRsh1Tt17lYlLd5fLSDWyJAWnRM8RlhgtDNixSE86mlnX7WDbHEaqkQgSJ7nRqPCJ+W6P/5SAKdACeU4keqgUkXObBsIwkRZqninXzgEa1kTgdBl8DX3mDQUZlu3hUoKwCWOAJpZQM6wD2vEEtblLetmArEox1fdr6GVONLKy7SIulJ5UBQes2A7ISkCKMPM5j50MfY7cXiWOhXe7hb93be/Uj8VYV1CVBbKvNZEWHID28J+E1zbCJ3bBn/qc4Qtf2+MKmry2Bka9AlLgAbMblNwjX+Q4NleKX1EQuwUQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from DBBPR04MB7500.eurprd04.prod.outlook.com (2603:10a6:10:1f4::16) by PA6PR04MB11806.eurprd04.prod.outlook.com (2603:10a6:102:526::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9913.11; Wed, 13 May 2026 10:56:54 +0000 Received: from DBBPR04MB7500.eurprd04.prod.outlook.com ([fe80::c291:543b:4bde:cee7]) by DBBPR04MB7500.eurprd04.prod.outlook.com ([fe80::c291:543b:4bde:cee7%6]) with mapi id 15.20.9913.009; Wed, 13 May 2026 10:56:54 +0000 From: Wei Fang To: claudiu.manoil@nxp.com, vladimir.oltean@nxp.com, xiaoning.wang@nxp.com, andrew+netdev@lunn.ch, davem@davemloft.net, edumazet@google.com, kuba@kernel.org, pabeni@redhat.com Cc: imx@lists.linux.dev, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, catalin.horghidan@nxp.com Subject: [PATCH net 1/6] net: enetc: validate VF primary MAC address before configuration Date: Wed, 13 May 2026 18:30:16 +0800 Message-Id: <20260513103021.2190593-2-wei.fang@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260513103021.2190593-1-wei.fang@nxp.com> References: <20260513103021.2190593-1-wei.fang@nxp.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MA5PR01CA0123.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a01:1a7::13) To DBBPR04MB7500.eurprd04.prod.outlook.com (2603:10a6:10:1f4::16) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DBBPR04MB7500:EE_|PA6PR04MB11806:EE_ X-MS-Office365-Filtering-Correlation-Id: 5ced972e-baee-4239-d02a-08deb0de5814 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|52116014|366016|19092799006|38350700014|11063799003|3023799003|18002099003|56012099003|22082099003; X-Microsoft-Antispam-Message-Info: MdwG8MRKPb/gwqQkKSrX2BP985F4rKkYKk5Q3noNPLuq26TDTDJ7/XnWzWHRO6lXRmoRDyXG8NSIeazmK+k6E13zIGj6Erg3YTvnf4WMQTEphYYMvCaVf6yKNt2JSxgAMHBReQ2394C6JqenkJKyEEHiRC9STPO94dxcY83M1wQlwVAWXnD3ukn0MI1LpMp92Yzlf6uj7LEcKHE2EZeoEAP74QjQBHysdD8jZMz1iEnvzEIa7ZwElY1ZV41wIZkPRphjFXgnmo0/eYz5RrV85M8iG/Z+Z49sAVNxdwXWZskyJsig86t5pf0lwhr8HlT9yFVn0oLEQVxn99jIQ5WUp7w4sGITXL+mt6kZ5MBnGekU4d7U7q8W04aA8dylnbWun2JBOb3HyOFAjFqrvg4SN+WBP+p38NXGIe/am102ZVOcPoBrlntD/g6d/AgSNnaLemLEBTNguGllR6EUh+NWq40AntgXWAKNFJP/VG8k2rvOHyH824nWhZH0gDHdYVbJtPo7XwF+HxPKEOFrcRLirGNbmt5YB1ybkIveV6M0LiOhrG9JXJU6YFJ7zovoQBKDRQagcfH0wVPoAORgAQhZ5QozodKlcdrO1KubAIGQaixNBeqUL/ii0w5zTNoK31+whMJR16XRpi1NG2UI6Yelc9EE+7xSu5cvv9S0dLa7rVUGZxP3KQIB5JWY/Cr6Rwfj X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DBBPR04MB7500.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(52116014)(366016)(19092799006)(38350700014)(11063799003)(3023799003)(18002099003)(56012099003)(22082099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?jOnI3y99Tk/DoTtSFpE30ch1QWn2XcEOjxS3F0aPYBOtm7KxlFTpfixX+J+x?= =?us-ascii?Q?JhBZXCf8yazGh/Vo6lTELfo68k5Kri7r9tJycHY5QUphIiQsvVmIFokN8fhA?= =?us-ascii?Q?dBj3BUy2WvlQKP9nY/+AlHOqZcajcmneCLPR6fwjVN4vaaC5myfcZ9sfvX4I?= =?us-ascii?Q?9zLtEYLxqRvvC1RYqUz/0b5TDmZ0M1zscF3eJ4KWYPI8BvzFP+R0qpTV79OA?= =?us-ascii?Q?ZeLgNIWBSUB2VTVnASh1PStlTGmdzAaowawUr18d9MA3nD/xmMWIrD+yRgip?= =?us-ascii?Q?6kNLKIGyiod1pjKDa5S375lXO0qGvR+dxk5a4mVEApc/h6Um//IxyrW5XVsX?= =?us-ascii?Q?h5tueVAYkGhnWik/gS9a8WfJfpqVyklk2FlfTiu0ugfeXbWTkyGXmfKJxZRs?= =?us-ascii?Q?EauUJR4Vzc/120ZRvzjx9z31jsSSsjqZxKLAcPt/FG8Idnd1HILbISy6HiEC?= =?us-ascii?Q?lMiQZ3F7lUkyoo+cCtRabFwj3oty3yaDZw+MMTir772mdyZh+OIRpfrVw+iw?= =?us-ascii?Q?I4xuUEsnstuwYkTlltE1K/tMnBjv7LQKxXEfNIjM0nisQaRRtrrnwUTjw0eS?= =?us-ascii?Q?071JPY/sqRE7MN+u5Bl0q8uakhNtI+JLzKVZ/Pa5rvPklU0mPT7RwOeVN3Wh?= =?us-ascii?Q?d+waPiqT2h8Cf1q8j2E4mw2ntg+CwUPuCEpeHjoJjHgkRnhed70iV1TaX1DA?= =?us-ascii?Q?yOPt1zLLq7LziDLR9LbPSczDezRyoirkIYX0mt9OrFvuzBSzJg+Pi5k1FkEz?= =?us-ascii?Q?QZpJaKEsXyGQKcPjVDyTICUzOm7NqvsVuaMfJRooiMH5RCroVCKBaZi7il0G?= =?us-ascii?Q?47xnkYlRl7MJFAWv7qVBdQBSQa9UNKHl+bInmp8WTWCJeHrfJ2L2m11vB7nu?= =?us-ascii?Q?sE7he45h63OMiOwdSj+IMA/5MEnS3HhYxFTnjq74u6yoOZicFEceacS70yLK?= =?us-ascii?Q?ul8qX6uO40T0z59GyzP0PNsSURv/KUU5BOZ2n1lOdtYGk1nwYLiD+b+ZW927?= =?us-ascii?Q?Envr906vDyEHdLez8ZjbUy9FRqop7LWXQqNOL1WixY51EJ3HvU7x61ybcMNb?= =?us-ascii?Q?n6AFtN6La0VjMi/TxxXnx0LmnNpQXfy/Z6217Jqv7CbfQDsexiLNqcuH57gB?= =?us-ascii?Q?hdywiCB2HElp5PeEDJ1wISCIs3yYB+LSm5gPyh4rRwM5WDwW9tQqer97wJ8A?= =?us-ascii?Q?D/R75sPPmTSlxnj1+do3E9CThi+vqP8vDQcFm/h1LDkQR7BH44YYxPcJXS9p?= =?us-ascii?Q?oRfCGXjaUbUUDtzABZgqO8ty497dp1qJ5OqYmZi4kH3/05LAsO9v/G/ExBqc?= =?us-ascii?Q?L9FoBSxViRDjiP35OgsPB7CnhUJzGuQtwkdKJecSEmMR94s+YETQjaxV0gvD?= =?us-ascii?Q?06BH7g0xnCPa9nfqPqBQVb+kPAtLe1+W1A5Y1yr0c/ITdT8q7sI6zjucnoBd?= =?us-ascii?Q?I3E0qZ9SNDD8VN4Mr2B+zfEPpl91Z+Ozz7Im5ydOmxrbrBO+NCdwgEEbLj0d?= =?us-ascii?Q?K7A1OohutTDuJIIvSkwZgARt3WB5Aa2UyUob23WfIHDzmtyDFXME9EMOgo4w?= =?us-ascii?Q?aV1+M7a19Sf/y3eiBOjmaQnpBQZihzzd/ZIcNksaH3RQYkBEoET2+9tyc9QE?= =?us-ascii?Q?LYsXXSAHcsA1Ssmck0wx6xxmYigRa6GSs0IEE+3dcGdFM7MOVvr9SGJVM3pN?= =?us-ascii?Q?fa3KHYgS8tttEG3IIFX1ho9BL8cvx9blz6z3paE6iwsBu2D8KqD2YA8yb1vl?= =?us-ascii?Q?1OJo9Lb/QA=3D=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5ced972e-baee-4239-d02a-08deb0de5814 X-MS-Exchange-CrossTenant-AuthSource: DBBPR04MB7500.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 May 2026 10:56:54.2192 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: znolo38tYvVnvRZA7EfoRWVa2DM+samo7TY8q4VS7kqkwG5vqwNWmTvTTAadMC3ML5tEyb/UD2Q4R0Szr/x7/g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA6PR04MB11806 Content-Type: text/plain; charset="utf-8" Sashiko reported that the PF driver accepts arbitrary MAC address from from VF mailbox messages without proper validation, creating a security vulnerability [1]. In enetc_msg_pf_set_vf_primary_mac_addr(), the MAC address is extracted directly from the message buffer (cmd->mac.sa_data) and programmed into hardware via pf->ops->set_si_primary_mac() without any validity checks. A malicious VF can configure a multicast, broadcast, or all-zero MAC address. Therefore, add validation to check the MAC address provided by VF before configuring it through the mailbox interface. When a VF attempts to set its primary MAC address via ENETC_MSG_CMD_MNG_ADD command, the PF should validate whether the provided MAC address is valid. Reject invalid MAC addresses and return failure status to the VF, with a rate-limited warning message to prevent log flooding in case of repeated invalid requests. This prevents VFs from configuring invalid MAC addresses that could cause network connectivity issues or unexpected behavior. Link: https://sashiko.dev/#/patchset/20260511080805.2052495-1-wei.fang%40nx= p.com #1 Fixes: beb74ac878c8 ("enetc: Add vf to pf messaging support") Signed-off-by: Wei Fang Reviewed-by: Harshitha Ramamurthy --- drivers/net/ethernet/freescale/enetc/enetc_pf.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/net/ethernet/freescale/enetc/enetc_pf.c b/drivers/net/= ethernet/freescale/enetc/enetc_pf.c index a12fd54a475f..756614ffa8c6 100644 --- a/drivers/net/ethernet/freescale/enetc/enetc_pf.c +++ b/drivers/net/ethernet/freescale/enetc/enetc_pf.c @@ -493,6 +493,12 @@ static u16 enetc_msg_pf_set_vf_primary_mac_addr(struct= enetc_pf *pf, return ENETC_MSG_CMD_STATUS_FAIL; =20 addr =3D cmd->mac.sa_data; + if (!is_valid_ether_addr(addr)) { + dev_warn_ratelimited(dev, "VF%d attempted to set invalid MAC", + vf_id); + return ENETC_MSG_CMD_STATUS_FAIL; + } + if (vf_state->flags & ENETC_VF_FLAG_PF_SET_MAC) dev_warn(dev, "Attempt to override PF set mac addr for VF%d\n", vf_id); --=20 2.34.1 From nobody Fri Jun 12 18:34:03 2026 Received: from AM0PR02CU008.outbound.protection.outlook.com (mail-westeuropeazon11013024.outbound.protection.outlook.com [52.101.72.24]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A45103FB05B; Wed, 13 May 2026 10:57:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.72.24 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778669824; cv=fail; b=tIN9zaPclpJXP5fXs9J994ZSTnIVJHNJFwS35KWu/U036+OcFeZHFfnd7grnBzvESYXfEl13fpTTq+tPL9yIYNk9rVkvzbobjBPrDVmySdfgYNXdS8+rdqRuuyIMuUtpZdz1o89P98k43GccFAzu/XjUda9hiNufSRQ1P4JQJB0= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778669824; c=relaxed/simple; bh=Z1JfiqqHEkkNtT8VcxL1giiotJZURYF6B3NqxvyGFrM=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=czWwzC0g1bK0cmP/wT5Z2be6+p8+rXk9ZmVohu6fD/3nfHZwtDoDT5adU9R4q4qgA1UXTy1K+jf+YglQqa5STyJegzxFUJuFWBNLOoyOHUE1dOpfif2fGoQtlcRU3LOWriGSiLV9IbdhhECdQEXELyb8J9C7b/EKlwW4eCTmQ4o= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=NwrhZ/xC; arc=fail smtp.client-ip=52.101.72.24 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="NwrhZ/xC" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=TKzYkv3pUUxrVAeRLfK85PC88xeWAMjuwhUVV4AO/8NX650rxcne3dzuwFDpbZku3szisvjXRodG+8KwKQ0P7kOgNYr8luT+CesJQeoDm5uY0LoCQJQeDSzm8wTlDiBouJbsvcRmoC0XYLuCtcHWK/aPQBbNlizHmPwMXIJF7jN0PMoJp91Xby6xbyFv0V4IfR/VwSq/RpyP0ouCJINaxAre3+g4OLomKm+ZA6gbF+rAkiDjtecfonPyp6ZgYmenKh1Gahz6qMWSmEE4oYPWxFmp+39UmKGDSXy3v0W23d2XxcSVk/LXcAc3W+LdLTmLuYSkI9rAkaWTSWXJG1zvDw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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; bh=uvN68+eALDE7l62J9EyB1CDq1+TkfzMr/LqAjqMMMnY=; b=RK7lhFlup7ohB6+5qRWtlm7ciw6cHTleXWQ+cp26adfpqFLqrxUoXcUhntLqGHJUhc3U+cdSOTdxgNEM+5bHwS8Z96/JYYi3n8+cbodWuUyDzVEdJ6Kf3ZsY02iAswL9DIlnEJ/K8ulkjKQQyr2eean6d1jXAriIbVzEnuAbKF/VITBKHH7s3nRoa/Yi4kqje/z1+38EVomB95e9RhiYWypoYgN2kkApNbhc6/jJvzbpVIJh2MMD5q/GNo8eJHdY7SzpHJeYUIQCA4r0xt3SpyTfO+aS+iW43tcv0bfHnjfGODQnDDMmokxQ1vYTNQgjU2edwnmYP9cSMZMNqJWgMA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=uvN68+eALDE7l62J9EyB1CDq1+TkfzMr/LqAjqMMMnY=; b=NwrhZ/xCrnCKGa1KDd5JPctBtECr8EfxSlQelF98CkIrZsC3k08Z5bsp3GLyDnde9zMn5/ZJ5CgFPEWByYXYygiwUUUXNBI9/4wZOb4nA+l4riP+Qj5O8McWFwhtfPpr8ajqLYjtyY1xhTAPzXXUXS+SHJcIJqM2XqC+YuMRdhHV4hnyGloBxqEYXyAaIv1MCWhkM3Tg9fl6OG/2g+U6jNl4ED3958zhD2W95k6D0ISS8Io43ada2Xeicbe+jhMNdOdUsTv0l3s7JncelAlnom2q1LI8PpeSdvRnYcM5Cfb/SY3DeD3/jogSVUQENuHp+v7PvqrRFBiNGtlVMf0G1Q== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from DBBPR04MB7500.eurprd04.prod.outlook.com (2603:10a6:10:1f4::16) by VI1PR04MB9788.eurprd04.prod.outlook.com (2603:10a6:800:1d4::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9913.11; Wed, 13 May 2026 10:56:58 +0000 Received: from DBBPR04MB7500.eurprd04.prod.outlook.com ([fe80::c291:543b:4bde:cee7]) by DBBPR04MB7500.eurprd04.prod.outlook.com ([fe80::c291:543b:4bde:cee7%6]) with mapi id 15.20.9913.009; Wed, 13 May 2026 10:56:58 +0000 From: Wei Fang To: claudiu.manoil@nxp.com, vladimir.oltean@nxp.com, xiaoning.wang@nxp.com, andrew+netdev@lunn.ch, davem@davemloft.net, edumazet@google.com, kuba@kernel.org, pabeni@redhat.com Cc: imx@lists.linux.dev, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, catalin.horghidan@nxp.com Subject: [PATCH net 2/6] net: enetc: fix race condition in VF MAC address configuration Date: Wed, 13 May 2026 18:30:17 +0800 Message-Id: <20260513103021.2190593-3-wei.fang@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260513103021.2190593-1-wei.fang@nxp.com> References: <20260513103021.2190593-1-wei.fang@nxp.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MA5PR01CA0123.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a01:1a7::13) To DBBPR04MB7500.eurprd04.prod.outlook.com (2603:10a6:10:1f4::16) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DBBPR04MB7500:EE_|VI1PR04MB9788:EE_ X-MS-Office365-Filtering-Correlation-Id: c9f5c48c-8e64-4b81-6bc7-08deb0de5a9c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|19092799006|52116014|376014|38350700014|11063799003|56012099003|3023799003|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: M4LZ1yLLmb9eUGojZVH7Z7mPVLoyVOJR83mbJZLCjx/P1QIo/Tb8ah/xXMhNAROgq8uV2vMucIUW85xq4ssL7bEJdwI1yOP1eXnsdQ9l9s1hE0SwYS6rdEYOcpEM6n8/4eJrEVbywfGXnY07dlpBgwlQgt6JXE43CAToem8b0N3SuQ1z+dajK8dQZrBMo/EHGnOUN2VcXQYq1RQAO5REzU6Y7jbsYT+/IlK2Q01f/RKFsN01i6wMXskD8xu+JSESN8qt7I5J398UjOGpRr0e/dtEK/RV6QZLG7J7bZC9nSgLkjHVqucX/qYxrIbIOSdKiBxg1DJUR98XRWfh8GgzdsFcUqLEOLAyjPNE5IjvaUGSvmlyFMqYGdSjkHUkx2Oze3tVRqrP4OScUkeuLZtpzDncv3DCVrX6z4unDdP+0nnge2jthZzzBABNuW1/ZzOt0dzCR5oEPaQsom1VfbViEm9UvRdKd4KWEfDf1yWdGTShwAHKXMyCMPWuPXVIiGpq9ojFKJSPOHv83PPZm7hIvwNeS3jDVY3F4TBUeKzYXKacupWkFyJvpalmOwvQfdLg0v74C2oPAjw2dVAGMyh/2zXRUyyYu+zWLtPa2aOd1Ef4uI45cbJcCjN/ocrDKwk8ruL4EzWywyBuzatISXOJMa/yHG6Z4qT1BKKB7APlMEddU4KBjEON0N41y3k9RGV0 X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DBBPR04MB7500.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(19092799006)(52116014)(376014)(38350700014)(11063799003)(56012099003)(3023799003)(22082099003)(18002099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?ra/8NxKUWN1R5UPlyQS2oTyFqy9v759Ilk+nTlUHIrnubnmhiyu1yaIIrngU?= =?us-ascii?Q?6ltINjkkk/hAZgYWq6rPinjkKNhqE917/f5ELAFkCO5UMZJD4OsPj6uKtC7y?= =?us-ascii?Q?KngwmZ6N8PcS4aUPO3kUkvczwXsbXdKqZ4S9rrec/Tt7FDLRPC+G6FkmUD5/?= =?us-ascii?Q?xs/roi2Vi51JlPSTQTC2f4u37DJ/7VuWCqX5AExB2tLWya5ZXlmQkOYSI0Li?= =?us-ascii?Q?707+oxwSVX7IPPig/CUIJoypSFwaoylCColwXm02ad9U9USe0pStx/JS/caE?= =?us-ascii?Q?O7eAsNBpdcVtGqG4eJ26iqCXBwGNkwEG2WY3CmtNqEfU3LpwLrbvtkD7PVxh?= =?us-ascii?Q?oAzu7p0Ur3nAaoU1c4OwJsUxLA+usgSjhyq9uqh+A2ZWRAS/eC77HUUOgLaf?= =?us-ascii?Q?pMrW4uUzW20+UukXB/r/Nt25AcD4mjkWMw3uvy7w8G+UKyRv1O4Qp19EmFb+?= =?us-ascii?Q?QeHW5TlHdMgSb9cCsc4qUYHgbWGDA56bWNoJ2lyM4KsV1o2SXeJ38zZlNQzX?= =?us-ascii?Q?ehERCILM030D8yz2tU9Z6ECf9CWyupuntijHLje9GvrVqgnU47Ig+YsYKhLe?= =?us-ascii?Q?7C7xhoUJAldxZBm+3/kBVd09mBDC9L3/TWdx6Xv9YyiaKyU8hydaY+Z7kX2E?= =?us-ascii?Q?z77AcjMTI7OVJseujpp696u+A9PaEhhI7JWvMh3Kg/xWu9nwLUuoDy6CYIEr?= =?us-ascii?Q?URxTpcnjxGI3sOR5+lz3mGj6wXJQnY+64yKVq2IltdiVenVsgklKKJd+x7Ia?= =?us-ascii?Q?3hJeRtjoiRs74scNii8Ggw4JAOBb/X6pIQAMWHR6fti20a+AYSAzU4EY4axE?= =?us-ascii?Q?uTgHXvwPEo+GpVbxn4XJJ6gRggVHFpRmns+ANljKoAFFpjzsTsTtk9hr8Wud?= =?us-ascii?Q?QcETvC9OsND9pb1O7fN6wI/7CPorB3Dut2Jos8ezmZ3L2mouoRTHBWkMUNiB?= =?us-ascii?Q?bz7msQQY9jrrRXaHzowx3ApnXyldqem5S/EBLiM9ClXQ2u3KxbNX3XXbps+D?= =?us-ascii?Q?xU9uBwWSn/qESgJqheiNzyl7jNTqlWH4iU0ORnaNmRgzfLZ94kGJAEnfDYWV?= =?us-ascii?Q?9GXKITi8BkPGEd7/xFdkePSouF+YM1rbhyLVh9NKpQyaeJv+6uGKNEijNNxV?= =?us-ascii?Q?zXzZQNgsIhGmcxWOWn2LTHd0i++vf4TZtB1UQx0O5SG8DDewFmBac3sH2WPA?= =?us-ascii?Q?ylFu2G6dfOpqdzZgZQus/i2FONOT1KghU0QZ3bs9uV0oMWbTbV7er/LE14W2?= =?us-ascii?Q?lmR3bLHaNtwbSgaVuz+0pAlvcV+7z9In5m2xziPGriJZVvMEY64qcx1feYkf?= =?us-ascii?Q?Enw6djPmlLKwcV4RZ8ut+ZIBBmR41AVPxJ8bF5DiZKehZMFJDMu6IPoZRQAU?= =?us-ascii?Q?DkQqeiA7fNlvEZbV2GoOYrOYPRyy/ZPD2QXcVT0dovWIKWT68aScGQkmclJk?= =?us-ascii?Q?oSxAWOdo6RhM1ntp6fE/DDRvrPSFj7H/pfKiAc28Q0fGc8ytSUv3mumDf4UZ?= =?us-ascii?Q?2z7YfLlMlxJNDXqLCqUuiNtGFcJvbD/FrPqw4+1UCk5bq9A57TijUK5/Nf7s?= =?us-ascii?Q?JHMj+MaBv8Gbn+UIa4Gta8jwCwnJMDGVSjFf6rgfptLtSw952/aFR54ZrJ8I?= =?us-ascii?Q?CIG5gan1LFjcdYwVB5QVhejwwhtxX5zwyjApWh6Wtn2XO6821pvQH2J01FMB?= =?us-ascii?Q?OznlG2OGjm461mRsriVmSVgvuTD+8D772Ln50JMo8xaHOnoPjh3oHiAVT7nm?= =?us-ascii?Q?YZwMD1qDxA=3D=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: c9f5c48c-8e64-4b81-6bc7-08deb0de5a9c X-MS-Exchange-CrossTenant-AuthSource: DBBPR04MB7500.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 May 2026 10:56:58.4975 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: mETwqKtSLjzMtgTk0chCDZv9zmzONhno/Q/F6w3DHSB0bqNwZH3BxMIKE3FcufzybopUv/IzDPfDBl2jLKEt+w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB9788 Content-Type: text/plain; charset="utf-8" Sashiko reported a potential race condition between the VF message handler and administrative VF MAC configuration from the host [1]. The VF message handler (enetc_msg_pf_set_vf_primary_mac_addr) runs asynchronously in a workqueue context and accesses vf_state->flags without any locking. Concurrently, the host can administratively change the VF MAC address via enetc_pf_set_vf_mac(), which executes under RTNL lock and modifies both vf_state->flags and hardware registers. This creates two race windows: 1) TOCTOU race on vf_state->flags: The check of ENETC_VF_FLAG_PF_SET_MAC and subsequent MAC programming are not atomic, allowing the flag state to change between check and use. 2) Torn MAC address writes: Hardware MAC programming requires multiple non-atomic register writes (__raw_writel for lower 32 bits and __raw_writew for upper 16 bits). Concurrent updates from VF mailbox and PF admin paths can interleave these operations, resulting in a corrupted MAC address being programmed into the hardware. Fix by introducing a per-VF mutex to serialize access to vf_state and hardware MAC register updates. Both enetc_pf_set_vf_mac() and enetc_msg_pf_set_vf_primary_mac_addr() now acquire this lock before accessing vf_state->flags or programming the MAC address, ensuring atomic read-modify-write sequences and preventing register write interleaving. Link: https://sashiko.dev/#/patchset/20260511080805.2052495-1-wei.fang%40nx= p.com #1 Fixes: beb74ac878c8 ("enetc: Add vf to pf messaging support") Signed-off-by: Wei Fang Reviewed-by: Harshitha Ramamurthy --- drivers/net/ethernet/freescale/enetc/enetc_pf.c | 10 ++++++++++ drivers/net/ethernet/freescale/enetc/enetc_pf.h | 1 + 2 files changed, 11 insertions(+) diff --git a/drivers/net/ethernet/freescale/enetc/enetc_pf.c b/drivers/net/= ethernet/freescale/enetc/enetc_pf.c index 756614ffa8c6..6939ab04dcdc 100644 --- a/drivers/net/ethernet/freescale/enetc/enetc_pf.c +++ b/drivers/net/ethernet/freescale/enetc/enetc_pf.c @@ -252,8 +252,12 @@ static int enetc_pf_set_vf_mac(struct net_device *ndev= , int vf, u8 *mac) return -EADDRNOTAVAIL; =20 vf_state =3D &pf->vf_state[vf]; + + mutex_lock(&vf_state->lock); vf_state->flags |=3D ENETC_VF_FLAG_PF_SET_MAC; enetc_pf_set_primary_mac_addr(&priv->si->hw, vf + 1, mac); + mutex_unlock(&vf_state->lock); + return 0; } =20 @@ -499,12 +503,15 @@ static u16 enetc_msg_pf_set_vf_primary_mac_addr(struc= t enetc_pf *pf, return ENETC_MSG_CMD_STATUS_FAIL; } =20 + mutex_lock(&vf_state->lock); if (vf_state->flags & ENETC_VF_FLAG_PF_SET_MAC) dev_warn(dev, "Attempt to override PF set mac addr for VF%d\n", vf_id); else enetc_pf_set_primary_mac_addr(&pf->si->hw, vf_id + 1, addr); =20 + mutex_unlock(&vf_state->lock); + return ENETC_MSG_CMD_STATUS_OK; } =20 @@ -968,6 +975,9 @@ static int enetc_pf_probe(struct pci_dev *pdev, pf->total_vfs); if (!pf->vf_state) goto err_alloc_vf_state; + + for (int i =3D 0; i < pf->total_vfs; i++) + mutex_init(&pf->vf_state[i].lock); } =20 err =3D enetc_setup_mac_addresses(node, pf); diff --git a/drivers/net/ethernet/freescale/enetc/enetc_pf.h b/drivers/net/= ethernet/freescale/enetc/enetc_pf.h index ae407e9e9ee7..35d484858c7b 100644 --- a/drivers/net/ethernet/freescale/enetc/enetc_pf.h +++ b/drivers/net/ethernet/freescale/enetc/enetc_pf.h @@ -14,6 +14,7 @@ enum enetc_vf_flags { }; =20 struct enetc_vf_state { + struct mutex lock; /* Prevent concurrent access */ enum enetc_vf_flags flags; }; =20 --=20 2.34.1 From nobody Fri Jun 12 18:34:03 2026 Received: from AM0PR83CU005.outbound.protection.outlook.com (mail-westeuropeazon11010054.outbound.protection.outlook.com [52.101.69.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0ECA83FB040; Wed, 13 May 2026 10:57:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.69.54 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778669830; cv=fail; b=mFpBerUabcBb8h3j3Nw4DLtfIvrq1FSuutKgdzF2T5j1xpBBdoItEeUMxlIE91FsxQrmXxfLMPhGak3Q/bNh2jD7dtMfZ02Ep8fZiHVS8YxAAX+HTnD/4ShSUXif4MkK9g4Np/KHP1Q6wDqw0GDxcP5QwJp2XB8cBPiqVHPA1Us= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778669830; c=relaxed/simple; bh=+qmoWEHQGJFcV0Ckc8tN7eMS7M2UtpJpna1x+izfgGA=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=mIYJNuS3eAz6p4rPkIPimxrbyDxxfHJZbNatW/ZbPP3HrLC1aoBe+UuylxVm0C20AAwpVQJNAeoew5VuM7bs3NTsI0TQlQAbKmxkX8vxjSzZGQm7IfrQ6uXnhRc4ejrWApdCsDSROvNlwtpVfcfjoHgijhB10rYtUXpZtzPcSJU= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=idwC4X6J; arc=fail smtp.client-ip=52.101.69.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="idwC4X6J" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=M5B9cn1CELFtbhV/kxBpeKHdztmFU3ackTrGgulxnD5KFoHevymZsLt9bgPyN80eMUevbX0wsVCPHG0ZZWNWhysiwKiAEkW+vInZ9lu+VBMtk2WpAG5qnwL4JzqhX03XRnOlr44Bz1QbbKhtIw7Qw+W7W4cCNpTGlO0mk3qhOyL/4EeQwi3hd68a116QubhM6xjvKdATkjLm0zz8kNvaIzFmQrvm6WdFeqONoQVzOmSOyMmqbi05XPM1Dy8vrnNRKoCpZjMTqazpj79VwqGcjppoZWQqmSEd91qnGzoUjuCQ/NgkK2rfsAnwxpUA+moQhzVmhZnnaCSt2eE5/RnanA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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; bh=5up6Q96MH6+oFPXQZWxL/Z/eBOK/+Luh2aBgHGwKesQ=; b=OXhNL6kS/ydDvSjY56JsB5cJMYmi6HGKR64uS8xbxsw9GFbs4NvauWjsc4PHjXigY4wsc5ALp8fPCZO0bc8CW7dYZ2Hv6+D02nvZTyY39M3rvtwYZb1nOz7AEyj7mXkEYHy0eXV2R4rj/e/g8ZqbSDMZjmTnbtiN/xfrjVu7E19k4G0M3xNGcDnxWk4XEVyAvKfu0Lqn5a6KD4V2HYBiZCqX6Piolr6EUaGMta8oE4BBRKor1CEaLvpGoNQCVqFbtZnZmxTzJ9wYtUQFQF5YO9OH7JKC87EzkdZbEMI589LdW949BnZFmOXNuude/p2QAuVzk8qGqjMLJ4qbAcmftA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=5up6Q96MH6+oFPXQZWxL/Z/eBOK/+Luh2aBgHGwKesQ=; b=idwC4X6JmUnknRzotFPGkP07KZq4YgRcOw86ppM8c9jkF+4nqRKi2PBtvHUYys/EuP1uTWc4yPIvj1lXcqJnMw0/NDkbBD9LVI7VXQa3XpuQ6nfpUJP03SkQnCr/38hk9nPcOUvAoT3Mm0OgPGa/DEvR/LSh7L1r6BGKIlo2hc84KSeT9th5c2+F4aVpeg8Qp+1nw1WOyBeJiQqdik6uRdHZNosxfNjRRbWTUS5ONGfJmIq0UIt0o6rWHyIko1jYHlQLicGiS7TtYif7B9cZxJjVo0P4pTwpQMhi5dxBQR7OGSWJE017nUUyWiHKjymtu5okYU4ZCoA5SOc74nV1tQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from DBBPR04MB7500.eurprd04.prod.outlook.com (2603:10a6:10:1f4::16) by VI1PR04MB9788.eurprd04.prod.outlook.com (2603:10a6:800:1d4::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9913.11; Wed, 13 May 2026 10:57:03 +0000 Received: from DBBPR04MB7500.eurprd04.prod.outlook.com ([fe80::c291:543b:4bde:cee7]) by DBBPR04MB7500.eurprd04.prod.outlook.com ([fe80::c291:543b:4bde:cee7%6]) with mapi id 15.20.9913.009; Wed, 13 May 2026 10:57:02 +0000 From: Wei Fang To: claudiu.manoil@nxp.com, vladimir.oltean@nxp.com, xiaoning.wang@nxp.com, andrew+netdev@lunn.ch, davem@davemloft.net, edumazet@google.com, kuba@kernel.org, pabeni@redhat.com Cc: imx@lists.linux.dev, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, catalin.horghidan@nxp.com Subject: [PATCH net 3/6] net: enetc: fix use-after-free in mailbox cleanup on interrupt race Date: Wed, 13 May 2026 18:30:18 +0800 Message-Id: <20260513103021.2190593-4-wei.fang@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260513103021.2190593-1-wei.fang@nxp.com> References: <20260513103021.2190593-1-wei.fang@nxp.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MA5PR01CA0123.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a01:1a7::13) To DBBPR04MB7500.eurprd04.prod.outlook.com (2603:10a6:10:1f4::16) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DBBPR04MB7500:EE_|VI1PR04MB9788:EE_ X-MS-Office365-Filtering-Correlation-Id: 5154eebb-b560-4622-4aa5-08deb0de5d2e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|19092799006|52116014|376014|38350700014|11063799003|56012099003|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: JT+Xg7TWfAWgJ8GXf7nRb8Z+XyRNE4u/J5ZgwU9fArf9LdHHK+fgJwl7WFHvvgiaBO059u7o+wpWQx6m9LXvE5CYzLC1of20WfpfLgYzypGjuF81RZEM949kEZiEUsEHPXSbYq/TlXIuXZWl1CU6JCzcd35psUER6XYGlQag898fNr5qsRC5AafIcXaWqC6ct5KQzSfqBuStygKA0qcEyeXpRS3SWeiLTxsRtd9buGijq/+CywVn4Mk+Ejlx0Kk3JtqSpXztCvv8Zi3u0n1YtDEQJiUjff5C2gRLKeop+YHqQBsjEGuSFfNVFwHbniY+Mk6UdlQ7VwFNYvmxq8nV0YxvNx6zuvu4IYkt0ax7BwQRtK1eVdoEPtGIiTE8/po4yECg+JAz8i/0QpFiWeo7RLakQAsvUVYicJiUUDjN3oImeY5JuK8zx1KMukf5jTMOWsNLq2gPJ3G1ySn4keS5a8aB8u2YSvtKGHWWCKt9fGAL1yVKw+AixT58PgMCOVCCSbRGj1YpS/NxDyIy/2WmOtRajYGvXI746p26PSvOZEzpxr11DPXxY1wAeBBKyYFoowyUYd/NjvKGCXzN/I/kLP8gowhrbkFE3YMJI0jqPKCAV82+CCNb/f3k1StGCeRGKo0x2VmCXC/e/vVEDjSDo/poteV3Ydvz/ixhXiqim6AD4yIUQ2TVEdnQgsXRhbvq X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DBBPR04MB7500.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(19092799006)(52116014)(376014)(38350700014)(11063799003)(56012099003)(22082099003)(18002099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?QuPvThMNO5bnSf03IcaqOaf/EbB+p44Rc3qQ+NvigLC3jLLk/62Z1WcUN9m0?= =?us-ascii?Q?MIXsi9gUxIZ4r0NLCDIj9R2ubWHwUNRO3Ebzwdj6cYa1Sa1hcm+1TS6dAS+P?= =?us-ascii?Q?NTur60lHImOn83y/XKVfB1yxLggD8suyfd12FesgpVADj8IV5AYaFwueUOq7?= =?us-ascii?Q?+3tpmt6QE2gZ4Vow4kz2YMYBbdDfdD0e6UrRT+JheVNzNMuYcjxCm8pgFE8a?= =?us-ascii?Q?S1aaFQGj1880ZeJoZghSWZCRvpqyj3K7FecUQFoG8c6yIHphrTX+4aYdD43a?= =?us-ascii?Q?6jm4fGZFxTdeKBNEzHFFalg6wmAvmFn3FVdw3ci4584Q++PMNM9CrnSvJFQ1?= =?us-ascii?Q?QAWvIXA3xn7CumHaZR2wQKrRKH442chmXDlCiHMM+U+lEwcc5akLA/O2Cp6J?= =?us-ascii?Q?4vmtigwQk90V54UgiajRc7SbiVlHCkHfRCyhmwcbZjWtio5rIhyBXF8B/reN?= =?us-ascii?Q?YPzfMmXXOMa/i8JWdrFO5oRQL2IbGbATpNE84cxcG0SjKDPaIWXMfps7ec0T?= =?us-ascii?Q?SF845EzicpKjVF2VxmrXB/PYqp7W676xVAAPFROgBBQFLCQ8h9c4MHI8qZny?= =?us-ascii?Q?n/loquZdqvEuFG/XTIexudHk7akWd2EBeVg9k0u3RwPjkIdpZgUeZ96CfZi7?= =?us-ascii?Q?ZnSB6qFA8s4e8EIfz2PR7FfNKhadd2S3DsqZmxoByyNnUlcdQcqB4U7Dshwk?= =?us-ascii?Q?QTGqSNVa7jsXy8+p6atvCGSSEm2FZhKU6xNG9KoYLp/ITHmlrsNv2wFCyDJW?= =?us-ascii?Q?dp4x0+gK62ZoIqKbyc1DLQYR7OTkt0lKTOsVmh73iJdM9ZA3sNJQicApLYWk?= =?us-ascii?Q?o8C03BR5ScUF5eR4iynaQG5XYgtIbpZtZb1Bakabn9F34gFVHriv3M6yAzAq?= =?us-ascii?Q?r4dc2ZIRQ8TQqd5BoFrvQxQ6dZMxu90trACf1m9AygpOuXQluM3VzyTYqcyV?= =?us-ascii?Q?IW2ZTNbAoAQZIOSlbwGJx0pgZI2Q5IoCxzRVc3aYE0zOXnrX6vY+Gy45AtLY?= =?us-ascii?Q?x1sDXfMaMtSJP1vPaYac8sCmJadXMmNBBcwcTUlDZYa4k+IyWJoj0UNnmoQJ?= =?us-ascii?Q?k+gkB43bLR6RSE28G7He2B2xUlOG2sFJBuuLliUDG0Q8LFs6VAI26KF8UHyC?= =?us-ascii?Q?IqZPi0YDOw550J/kT3qP1UDlLOuuKXIn+GTFeFX22pNKbgn9ctqMjQaNE8gC?= =?us-ascii?Q?5z9CAqQl5H0oV8r523gDTTwsxFnTlop5dYi7X38N+7KyjUlRowyMOiHiTbqj?= =?us-ascii?Q?6t97Fd/AjIKEWwmvMeq0/N+OesVc2EvZG1TXCzBlGVSVGm2E8kuEsccae3rg?= =?us-ascii?Q?hk//XLcHgzjn/EafA/a0b1vNKrf8kx83hOx6/5oia7oezJEyxOIGQ4aHbN4K?= =?us-ascii?Q?sqs0bDQpB1rjzubnFciNYgfaCMNr4tLkZGDTSfE7cFDUHW2VMJcV2/EXQBaP?= =?us-ascii?Q?9amZfPRTICZr87+SHyEY7Yh6AKfLq8vfczc4BnLFA9KwOAicCb9JmJlKJiIx?= =?us-ascii?Q?ElQLQ85rYj2ZQLkEK0pvTaciU0EnXaY2jb6l+WQTVJprhMIAdr79bn4BQ85D?= =?us-ascii?Q?oX/zamoZ9njZpF2S8BivYyRjBKZv7cp0M7vSBtFXPOnkgFjRlyJe+v0dzMqj?= =?us-ascii?Q?AHio3aH6WzR76OhSVYedvQA6nhXasjtNcTWRHuX0s/ymGd7lGw+7d1Khlnqq?= =?us-ascii?Q?XKBNpWZTjh8fnmficJk2MLawv5B6g+Kf/lXvCPUvZdw6cNjCM9E9qOa6FZfR?= =?us-ascii?Q?iqPXSeDYdQ=3D=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5154eebb-b560-4622-4aa5-08deb0de5d2e X-MS-Exchange-CrossTenant-AuthSource: DBBPR04MB7500.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 May 2026 10:57:02.8631 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: Vaszg5tZsTgswf8e82URDHC8LN8Jc8NByo2RXwa4DlhIKjdORzTJjlh+llMHNW8YLIV1OnbZF7jbtCrwHpiDAw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB9788 Content-Type: text/plain; charset="utf-8" Sashiko reported a use-after-free issue in the PF mailbox teardown path due to incorrect shutdown ordering [1]. In enetc_msg_psi_free(), cancel_work_sync() is called before disabling the hardware MR interrupt and unregistering the interrupt handler via free_irq(). This creates a race window where: 1. cancel_work_sync() completes and returns 2. A hardware interrupt arrives and enetc_msg_psi_msix() executes 3. The interrupt handler calls schedule_work(&pf->msg_task), re-queuing the work 4. enetc_msg_free_mbx() frees the mailbox DMA buffers 5. The re-queued msg_task work runs and accesses freed memory The timeline of the race: CPU0 (teardown) CPU1 (interrupt) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D cancel_work_sync() -> work cancelled enetc_msg_psi_msix() schedule_work() // work re-queued! enetc_msg_disable_mr_int() enetc_msg_free_mbx() -> DMA buffers freed free_irq() worker runs -> UAF: access freed rxmsg[] Fix by reordering the teardown sequence to follow proper driver shutdown discipline: 1. Synchronously unregister interrupt handler (free_irq) - Waits for any running handler to complete - Guarantees no more schedule_work() calls after this point 2. Cancel pending work (cancel_work_sync) - Now safe, as no new work can be queued 3. Free mailbox resources (enetc_msg_free_mbx) - All accessors have stopped 4. Disable hardware interrupt source (enetc_msg_disable_mr_int) - Clean up hardware state (defense in depth) After free_irq() returns, the interrupt handler cannot run anymore, eliminating the possibility of work re-queuing after cancellation. This ensures mailbox buffers are only freed after all potential accessors have been shut down. Link: https://sashiko.dev/#/patchset/20260511080805.2052495-1-wei.fang%40nx= p.com #1 Fixes: beb74ac878c8 ("enetc: Add vf to pf messaging support") Signed-off-by: Wei Fang Reviewed-by: Harshitha Ramamurthy --- drivers/net/ethernet/freescale/enetc/enetc_msg.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/net/ethernet/freescale/enetc/enetc_msg.c b/drivers/net= /ethernet/freescale/enetc/enetc_msg.c index 40d22ebe9224..fe9680a97b0e 100644 --- a/drivers/net/ethernet/freescale/enetc/enetc_msg.c +++ b/drivers/net/ethernet/freescale/enetc/enetc_msg.c @@ -151,14 +151,14 @@ void enetc_msg_psi_free(struct enetc_pf *pf) struct enetc_si *si =3D pf->si; int i; =20 - cancel_work_sync(&pf->msg_task); + /* de-register message passing interrupt handler */ + free_irq(pci_irq_vector(si->pdev, ENETC_SI_INT_IDX), si); =20 - /* disable MR interrupts */ - enetc_msg_disable_mr_int(&si->hw); + cancel_work_sync(&pf->msg_task); =20 for (i =3D 0; i < pf->num_vfs; i++) enetc_msg_free_mbx(si, i); =20 - /* de-register message passing interrupt handler */ - free_irq(pci_irq_vector(si->pdev, ENETC_SI_INT_IDX), si); + /* disable MR interrupts */ + enetc_msg_disable_mr_int(&si->hw); } --=20 2.34.1 From nobody Fri Jun 12 18:34:03 2026 Received: from AM0PR83CU005.outbound.protection.outlook.com (mail-westeuropeazon11010054.outbound.protection.outlook.com [52.101.69.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 139013909B8; Wed, 13 May 2026 10:57:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.69.54 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778669833; cv=fail; b=ld6wKy7sOfL4Yt7nOu8Uz79Mx272gjXqsrqwef6P/P86lLS5J2VA90lEn0P5P+qZ5Ib6TTHBb8C0lntQLlJInib2zUJGIi0I3BEPDg1QZPyn6tAxqHejSvYacazcVMnKGDcpgaUlPtxknoNVEPCUl1v97gU4OB+e44/FIFJe2+o= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778669833; c=relaxed/simple; bh=iuYNmPQJHoFbrYcWwTpkdxa24OGd9/mj/GLfEXZ9uG8=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=VRZSFbEhEICPqiZZw3thlZnVqJOvSNCDA5HLUGes+3N+VVHSaUNE+Ygbr6zqVQQrncNFkt1D0eXdPX/5u1Dd4OG45shsEENuRDfZCX6vXZz2N5I8oANuKMLOJv82gkxXRctxR4R/x0TJsQZ3mqomy1tI+dXvCuH04SLSotvuOrQ= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=Fi225jVL; arc=fail smtp.client-ip=52.101.69.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="Fi225jVL" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=L39lbeRwBNHzSnmclKO7ezPKk5BcT3V7STql02HoqcAhtc1Ekmw58Kyqng34Fk4/HUF7PiCgiZo96dHbQTmAwatW25jXdJvzOvZcCZ6d3pJaptrG7YsRWDLLnsHEiEC2CrUU1pSwlCK4NTDQDlKTsEXZQZzubwwyJUjHbZuoRcSEx9VsGUwcrfhLxuqEDLaoxHOGFx/U9yQy3AHykghZh7Kkeag8qw5XXJCpZdpW89SWyQx/J8AGx24jEOiGRIvatRh4QWVCWZDmpMAf1W5eFNqBYGXC8So0U7uYtkfY++NfQg7RrAMDxI72/dBTqKUUs1xhqLXrI+746oKTNeYl2w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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; bh=P0cEReYRNklW6WIRESfqdItST0kQQzop6MBBwiPE3U0=; b=JlFgrz+PLc+DjAIFcEdmhRfnORJU7ZIVDbQ1fYEGwxsPuFglXzXiGPa5UZuQNYbXzeEDaByRKwOopT4CwqQ4HaYlBtwZW1P5stMXe4wihUmg5MtUpjrtQNU2m1kiag1EgkqHNIZPs+oci3MnMbldYuHy+XHl90fnksbSEAtDWB1l4ZtvHuSpJr3mdf5X+CBGYiyDsWMvnsLxXPOca+MCM+nW+uWyG8z2Oz61YFlkOX0iH4gH7vZIBNAs/Nq60i7O0RF4UDIpef/NDcQFmaptAOPa39+YCQc1fQnjeJf3sZO0p6QBhTnqqMX4HIW0lMjBT3hMRClsUyrs6YscQnSe5Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=P0cEReYRNklW6WIRESfqdItST0kQQzop6MBBwiPE3U0=; b=Fi225jVLTmYGy+mWhP4AxUsSaWGj8zyaSGJ0KNYl0xxjmIyJqGkhh0ZyZkjQmRhaem5YqlJRL22SyTczOoCqfGp6fkOKVVgiro8Z8OEdCmhJtD6czD2ahFleGauPeQc1rcMtBdHR0rY/TUFrzT+H/yRJHtDT7xiVIkpuTlDKXNlsip3J0ensVRFRfJi1jz/YUWUo1UTA/yqgwcEK8gH9N4kENtbbmBeesy0tS2pqzcsqw6Prnzsxxw6HS5Oz14UZRlv6TFND3MPHTq2E8hCzRQTSuIhLDnc/zNFFNZTH4RvTtzVhOrBe0KiGpfr2kIFQJzdn4JXhxxXXijA1cLZt8A== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from DBBPR04MB7500.eurprd04.prod.outlook.com (2603:10a6:10:1f4::16) by VI1PR04MB9788.eurprd04.prod.outlook.com (2603:10a6:800:1d4::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9913.11; Wed, 13 May 2026 10:57:07 +0000 Received: from DBBPR04MB7500.eurprd04.prod.outlook.com ([fe80::c291:543b:4bde:cee7]) by DBBPR04MB7500.eurprd04.prod.outlook.com ([fe80::c291:543b:4bde:cee7%6]) with mapi id 15.20.9913.009; Wed, 13 May 2026 10:57:07 +0000 From: Wei Fang To: claudiu.manoil@nxp.com, vladimir.oltean@nxp.com, xiaoning.wang@nxp.com, andrew+netdev@lunn.ch, davem@davemloft.net, edumazet@google.com, kuba@kernel.org, pabeni@redhat.com Cc: imx@lists.linux.dev, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, catalin.horghidan@nxp.com Subject: [PATCH net 4/6] net: enetc: avoid VF->PF mailbox timeout during SR-IOV teardown Date: Wed, 13 May 2026 18:30:19 +0800 Message-Id: <20260513103021.2190593-5-wei.fang@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260513103021.2190593-1-wei.fang@nxp.com> References: <20260513103021.2190593-1-wei.fang@nxp.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MA5PR01CA0123.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a01:1a7::13) To DBBPR04MB7500.eurprd04.prod.outlook.com (2603:10a6:10:1f4::16) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DBBPR04MB7500:EE_|VI1PR04MB9788:EE_ X-MS-Office365-Filtering-Correlation-Id: 1ad94eeb-6cf8-48dd-5e94-08deb0de5fc5 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|19092799006|52116014|376014|38350700014|11063799003|56012099003|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: YOAPBiUZYi/UkTo5XyP+U52sWhtqxLZIjtYoprzD26ERoAR/8xchUvSvBSpkgJKQ4BuX50XejzqWYJxSf/sQnMie93jKnUTTvKrXVS5MQxSfSiEHVJaHNWXcVp1rFeSt08PsFbfBx7DheaYOrzL7QDUJq1itiCn4rWE5jtsV/axrieO7IgHTe7u3c/WUO2tCVeS/5BI50k4uwp0/kWqsIDODtGQkyb3kjTFPli6hYGee9O6tl8aJQyI5MPdNs1rZWcnIkFdc5R5eo5YXpXe54o33Q2N+ps6JmGVnIGPwbUdTjlEPzFzVqBkoG2udVK6/WTfVtealxRAc2IIagj1dkAcOI8PFg+c+BDCC7aq9EPezj6JmdJy1TAC79PJJ9FNX99Kkmmh4z3SYKJCllpnDwvfew39uR1v6QaDu8WXBLEsv+V0oA+rmickKjPahylgSTjSWiqpmkwyB6TbTLptDX0VASJbOG8S1RtyAZALb1On6mG7rM3/AsowoeWkpJo6+q3JjGjUX2F5XoM/bnJzLCtkIGTctUZmC4OhwtBMVEGsOdDwGMvYWGzIQhWYhnA2zK03V04cAgT1o4SUgNRyKQWhFsi6GzNcuPTmHbeKDtaKGZQOgQF7laJC6MIZLSp7uHikeA7B4xgdLF86gDueHJveF0sJsG9lwgLXdS48xLNHituKNuE8A3bkASg2MZUHoucwgSGWoaz8obZlMwJasSOcHgq8qhswdB/0hov4/00cqljsUo6ngXLs0BzBenbd3 X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DBBPR04MB7500.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(19092799006)(52116014)(376014)(38350700014)(11063799003)(56012099003)(22082099003)(18002099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?rukMQLjC2B9N3JwKnQmV9ubMDrToL5NdkBi602LkKi4HmETtUb8StmlGcfvj?= =?us-ascii?Q?bvXGmo5ajtRB/Okm2oLxsnlWvXwkf0XLsz0/THQTrK11p3yGjpmHWKOe/Jec?= =?us-ascii?Q?Rlg2OvJueexpgMOO4CnOMcpmfq8PlRc7f+YOa7je8BtVg14j4qG+BHbngolX?= =?us-ascii?Q?Z1LIFpLWu4vnMpMnH4TDLWFkCAh+nwmTs5Rf6QP+PHS4OHJHGVBCr4vXHpmU?= =?us-ascii?Q?pwuntMtCJAFFcj7LM+EOAX/yvGEWHbA3oBJFY7+VrYzh/WZrKZpHMhAP/pAG?= =?us-ascii?Q?iNjGm3bfYVikucbdUx1KIvrsxMkAZT1iDJ++bBr6XRsn3OarSsTgv+5L2jb9?= =?us-ascii?Q?cYlefoM5z9cAclAAPNojpmd1Vgcqe2jC0/Cjf9PCO8l9fuOBIUmzq+ToXTUN?= =?us-ascii?Q?uUQM4b25FCqWaMM7ckZKsrEHX+O4VEsblApN9K+CSGRv7Uhd7G4f1fO2+wb2?= =?us-ascii?Q?EaD9PRXFVTKrtQsNILrOrCVjUIBr4FFc5KP8m1vYrwwbK1UDM3ikGS54b/R9?= =?us-ascii?Q?gXtMg0/vj+arCZZtrM9nVfb2EqjbKTWNIZeJmP/LDuC2Bfk/m7aJ5jzIVOky?= =?us-ascii?Q?mpYWljz/zRVG0GPU8KlqLhLg/MdvVmIcC29l3rghM8BPQBRD7E1MN+zSFNdQ?= =?us-ascii?Q?mVCvu7PzNh+/zEBQTNANnmt8kTeA7czQe9m7na1n346pSH/P56TDkF/dT5ZK?= =?us-ascii?Q?HonzMrAEAGtWurCWl9SUjDLe/Za1shz1uflS//EF4+Vd1Qj5cUhWMVOOcH+1?= =?us-ascii?Q?+Tq9RKqnjetjAfY4ldEm2hefo1ZkOMyqy43LFIpfymvZ0N4k2GcpkRjSdS1B?= =?us-ascii?Q?ygMb2AKMEsWxd55YZRbeEX9G1uwLhXCRTQFPQw7Rpnaqj2vvOw7hFFlo1/qG?= =?us-ascii?Q?GHDKBJ0ZvPLiOHj2+vsIT5vMzThZtU+ti8+cuTVCn2sLCiXQQmrJ4XjxfPoU?= =?us-ascii?Q?hCcCBXkMGGJS9+pWfrYyxcIqYge9L9kjQnsO0PAom7IF5tVaeDkIq459zqSI?= =?us-ascii?Q?ZNVkpQy9VveodwUfEGObnqAoNLZppaZzVIYrw3nQGnJ91Ld3vBe6XX8yUXGD?= =?us-ascii?Q?q2/lCr0qXSgZgkgOPMYUD5Njg2dF5p20RQnV11d7VH10XgArB1YI86XZktVW?= =?us-ascii?Q?OUCaqUR8v42Bl2F2au7eMgUcbBYnPynYjGEct2PRq841GsTqdP+Kk6DkmEWz?= =?us-ascii?Q?fNXfmQZW9d9MgIfqIeMFhxLqVS/iMpu56WVV7g4+v0izBnO5z87/Qq/S8oZN?= =?us-ascii?Q?s0KRN0JFYLdiF2XBbhuJdJVGIh5csHJU1TJKkynrX59MJZUzqd71/jqvx9pv?= =?us-ascii?Q?rkxpEe8YWaCZf6DriW7+rZLLqjGM3d6+I8XFVsM8XuiIwhYQo49eWrZvmdX8?= =?us-ascii?Q?ofurk4Q9dwV0bQ5RP2lTLIf3OjlmJb5E4oiR5K/lRnVBnjwksFL9lkFlrMFF?= =?us-ascii?Q?5iVNmXQ1gyVwnJEAvll+uSzyzXO+LoXlYzL31mr/ttEGLhyKFUD12CObkbrk?= =?us-ascii?Q?P2Q6kmDUAe6KKdmuX2kgqI2zhd0XdxuRalzR/FVKGrR3tAW3nQ8ZrDUMY784?= =?us-ascii?Q?SAPXC+WI05PwhD1og1Wa1/ZpZh3tNomyU8aa5EMbOzPxvKKsCem5iffw/r0E?= =?us-ascii?Q?nnyZ1xrHU8AAYjIMRR0N6hHFRiv/Kt9+G4nwrOnH3DBFr+F+9J67MDy7qnkW?= =?us-ascii?Q?jGHGmJhP7HVNKnaa+/cV0xSMlDtS/K94j/J9mBFIQxIe0506VQ260Y2inSJk?= =?us-ascii?Q?H25hGwddWg=3D=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1ad94eeb-6cf8-48dd-5e94-08deb0de5fc5 X-MS-Exchange-CrossTenant-AuthSource: DBBPR04MB7500.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 May 2026 10:57:07.1210 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: A7ZWEsMv7iqBuAa3D+dpxq11U5Whtza9nybWkbY2K/QOxu1HUOZeKHPmcmq6+X0SvySba1tfVqjLl++e9jYGIw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB9788 Content-Type: text/plain; charset="utf-8" During SR-IOV teardown, enetc_msg_psi_free() disables the MR interrupt before pci_disable_sriov() removes the VFs. If a VF sends a mailbox message during this window, the PF cannot receive it, causing the VF to timeout waiting for a reply. Since the timeout occurs during SR-IOV teardown when the VF is about to be removed anyway, it has no functional impact on operation. However, more messages will be added in the future, some visible error logs may confuse users. So fix it by calling pci_disable_sriov() first to remove all VFs, then safely clean up the mailbox resources. This eliminates the race window where VFs could send messages to an unresponsive PF. Fixes: beb74ac878c8 ("enetc: Add vf to pf messaging support") Signed-off-by: Wei Fang Reviewed-by: Harshitha Ramamurthy --- drivers/net/ethernet/freescale/enetc/enetc_pf.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ethernet/freescale/enetc/enetc_pf.c b/drivers/net/= ethernet/freescale/enetc/enetc_pf.c index 6939ab04dcdc..052cab48df51 100644 --- a/drivers/net/ethernet/freescale/enetc/enetc_pf.c +++ b/drivers/net/ethernet/freescale/enetc/enetc_pf.c @@ -544,9 +544,9 @@ static int enetc_sriov_configure(struct pci_dev *pdev, = int num_vfs) int err; =20 if (!num_vfs) { + pci_disable_sriov(pdev); enetc_msg_psi_free(pf); pf->num_vfs =3D 0; - pci_disable_sriov(pdev); } else { pf->num_vfs =3D num_vfs; =20 --=20 2.34.1 From nobody Fri Jun 12 18:34:03 2026 Received: from MRWPR03CU001.outbound.protection.outlook.com (mail-francesouthazon11011015.outbound.protection.outlook.com [40.107.130.15]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E30773FD132; Wed, 13 May 2026 10:57:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.130.15 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778669838; cv=fail; b=QglB2oIsivAPV+7UbgfaiiHS4hzxmjKuJSjL1I8J60FD3z1IMI/xB4yimD6OSDPvXu1fKBYORXrOH81t9ZCf2dAefX8SbwcYVyCVBRPa/ud8FXL/FPWIED+cDR932wmziGGTFYwwvO/Qqqci6pbw3dxuKNyqvZDeFu7pnVLXWx4= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778669838; c=relaxed/simple; bh=ttOY+E67xG3WFjEmlEYgPMfmHV72SM1pOL4Wp5kZL2s=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=mMo3t4iFaphN6LnZOd5C0a1RzR8A4vUt2PkoVf8a1K/lrTRKRzod+9Y2IejF5IxTd6q4jqJ+Hid7JJcRbpLw0jQpM9FrN2YHKWYE83oFXe4kNmJvq0/1TUl9vh177GGn4Ud2QClyP26/2ZLVLE7FsBuH1D7D7/K9Bj2HzWfZpkM= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=bUkCnLXA; arc=fail smtp.client-ip=40.107.130.15 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="bUkCnLXA" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=IPLKmPlcfZh6LXXRa6pOCBs7FMRnkWRcZ3mbON7l0KPBSC3YNLMVhyCG4cpHu3sXExrsRw99OFVo2AkUTeAA078SNIV8KwOMIiw9q6kiy53TLMScpIvofXGFgclIl5iaLBFplrUeDqUe46UlrSKg4pYoEX52/YiWE8aTt4AgtwHCS9jfS9L5CzVut+oI/iCmzuYh0Zxp7xl7GStxremCvQ8+qTPODBDGRjKKCg+zgHYCTLJcKLsnyM4d2ZpykaVEmlIDdPxdo7CxRXW56V28N+DrGHnTL87rRRu1oXl5OKgev+D+UbGcXGD/t+AOOSiPonfM6rJROr5GjIn9NEFwyg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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; bh=EN4pgkky39Pi19KNOnxW/vJf9RNsA3T9NM/pGNtigQs=; b=l1ytEBTKzZ+pS78qqGVzwsADNEUNdk1D2aVdV3DTbHaGZmOgi6VwHTQT9LJkqAdTt8umt96Elk7BrIg+9CNH+zUs7IIUHuCsLQCeYrAOkPtX32zRKDdO7nxowaqyeHch1beEyZO7nFXocZnivB/zh2WbYz/5s/XRA+ZQ1SyfWK+gzyYOchql7JvRBowE1F/sK4tubtpIBOdp5Jxh4DGLHUcAp/yvcHoqJYcfGiNkm3ogo8Sf3RI9Qh1Jut4/HygaazQZklLdrDzUbx3SU+65kx+uDMcbOg9ZG1ysgPsMjC8M42uJblNVAK+k54rxHOFX4FC1ZP/9jqhmQNaQEL0ihw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=EN4pgkky39Pi19KNOnxW/vJf9RNsA3T9NM/pGNtigQs=; b=bUkCnLXAuF01q6rNnysu9hwVXmEgcUOyN7LzJLkGfagVYwSEmjPDGQb3x0hHKw9Ul6TCnhsTKxSpJXMI2tTXKi6dAbVCKi92zw7iRAIwYISO+p+t3WD3oG6qPiLonWdqIAApds7r0zq8/gc+3/e3nQjaw5X3ECJGdUKALRSyAgsNpv5fD2T6B4mNagJcLCFKEjhkLfLRLPmeJh9SH/tmXYlBsa/DV9ChsP2LkHeqPF5EZ1J6k9SYa026eagf03xRXcDMaFINPh3DwVJ7UU/z12Dqysqg+jTXoAUihyR00JyLS/rOE0ieTamp6bqjxEK8+85GC7069BPq7woGveXOEg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from DBBPR04MB7500.eurprd04.prod.outlook.com (2603:10a6:10:1f4::16) by PAXPR04MB8427.eurprd04.prod.outlook.com (2603:10a6:102:1cd::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9913.11; Wed, 13 May 2026 10:57:11 +0000 Received: from DBBPR04MB7500.eurprd04.prod.outlook.com ([fe80::c291:543b:4bde:cee7]) by DBBPR04MB7500.eurprd04.prod.outlook.com ([fe80::c291:543b:4bde:cee7%6]) with mapi id 15.20.9913.009; Wed, 13 May 2026 10:57:11 +0000 From: Wei Fang To: claudiu.manoil@nxp.com, vladimir.oltean@nxp.com, xiaoning.wang@nxp.com, andrew+netdev@lunn.ch, davem@davemloft.net, edumazet@google.com, kuba@kernel.org, pabeni@redhat.com Cc: imx@lists.linux.dev, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, catalin.horghidan@nxp.com Subject: [PATCH net 5/6] net: enetc: fix initialization order to prevent use of uninitialized resources Date: Wed, 13 May 2026 18:30:20 +0800 Message-Id: <20260513103021.2190593-6-wei.fang@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260513103021.2190593-1-wei.fang@nxp.com> References: <20260513103021.2190593-1-wei.fang@nxp.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MA5PR01CA0123.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a01:1a7::13) To DBBPR04MB7500.eurprd04.prod.outlook.com (2603:10a6:10:1f4::16) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DBBPR04MB7500:EE_|PAXPR04MB8427:EE_ X-MS-Office365-Filtering-Correlation-Id: c3ede8af-864a-413d-22ad-08deb0de624b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|19092799006|52116014|376014|366016|56012099003|11063799003|22082099003|18002099003|38350700014; X-Microsoft-Antispam-Message-Info: KjW363cmyxqQpjUSkn7hFULhEqOSSKXKYhlKXcQe2k9Jym8gzvoBTdsUr/GcYw31QJ2NJwgizbYiG7c30kTDJriWYUHife85tbuVsa2XcCTuCJHOaCM63qRSf2tYrNxnG2R507arVOSKJJnBqu57taOjKXHv8s99yFZvGQCmzfcQ7mrODqN1OdCjh7/505bXRWs7eL62AB5vyCGmZ7BnJbJwd1BFa94kUoNcvpM6vY+72wxJTK/HcXOFNn61kppOn8h01z/RLv24HwAvkUQoJeuE/NcxcFDDa5u0HF6ABrmDnJPqwzMLbKUfdVJoJdN79WqiJG9e4JOaYJ9DkYSmtlhGL1yAPnCwFcAZPjFKnBHxHFTdrJopKRaupprfApD1Ph155SwSLZae8tfsbXmZizNePE+e1mQK3gU6MES0q0TNRNKDgjWNEiZvvJu2eW6O4/6LHa4ABn/Ys/IkEhfJoLTVp0g0OTcQB6kVNfM8o5aoZ80KwDyTiJ5n04YTHtl8uHUVxPoQieLQ4grFJdvSj87z/R59TMhPCHEL5HCzY2D2ppEJYs4uzShnkHvJZXT/8Gx+qMoVNCJluXjCwzzD4SZCWxqFc79CNQIJ6OXbCIfi0zt0pEP3SXuXt7ilelGCjc/KuGsPQEj/c3L25ZVTfz6PaJROMLFEIIDvAQoapkM+Vi+quq5IdG7zsRO81nwE X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DBBPR04MB7500.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(19092799006)(52116014)(376014)(366016)(56012099003)(11063799003)(22082099003)(18002099003)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?j730LLGFuiZOiCv5f7U67X9qse21vGvENP5PhLbWAWNHAbaJcr2aaD5+nBEI?= =?us-ascii?Q?W1f8G6AasknhGaWq5vLVHb9xL558Qq1dy+Rgl7FP7f01qi9UbJpGjPaXnjfC?= =?us-ascii?Q?LcgDWoNr3Mn+r/YBEYkIIwpTlLbvMnZ8TR39/JeObi+16zgwpEqtCFp4gsDK?= =?us-ascii?Q?H3/lMsMZvejIi27csDf61flJBEvzZ7pLNh8g6WtqOzddsBJl2rsxx5qhXsQW?= =?us-ascii?Q?6qSbc2QfbJirBKVrAc+fijhXUsVva3TJ7xEeVvRknT1s08LtRTkFei0rBMyP?= =?us-ascii?Q?Yq+T+t6Irc8L2ObnO7Q5x3SacWDMQtXNP6TxTxnTvMIITighak4cR9o0Zlqp?= =?us-ascii?Q?RXqHZ+mytsmINK21QJUeVJYLd0p5c2IClwsVmNhwjiWASkaezwBws3OmORKA?= =?us-ascii?Q?bQZPzNGaxbtQgFC/KXkeceY4zv8uGKNAC56AKTvJ9WG6orHdwbIlJWilWSCl?= =?us-ascii?Q?x8BOw5H/hhkupAz4ACAUJPvOdmrW9IqxuJfSfFbNkoEWiM1Fb+/GwMZMwUpz?= =?us-ascii?Q?MrD8FeiP8LgKoMKhuW0e04Lus/CtTQvey4f/7wtykTP40xV7TnY5z1A7PwLP?= =?us-ascii?Q?Kz1ydiwD6+Yy0zuovrsu1r1ShPyKiNuA+QnJ0t8JOR1lubMc9bFaYUO6UCcW?= =?us-ascii?Q?wtjp43yMXBldjp9Mzhx9Y6I1N7s3YxCPpO2UVRsmYM4paVcfBd4qBoPDwUSf?= =?us-ascii?Q?aYRvgy3gjnWt57qCTJVrCdvov8M1m/xG8t9BpbnlKLx3Y5LZuTWby2mWKm+h?= =?us-ascii?Q?hERohWhOpmlRSmtiuMg7QL09Bs7pwMaTt4ImiNNpV7x4QO8I6QddptbXZ9Oz?= =?us-ascii?Q?w3LRlZ6LBEd5Wygg41gCs6A8NMGQIYkse/kZJ0bqEt2NN2lIm1GFh0sVfdWt?= =?us-ascii?Q?H1O7n9TwsGAgj4/+ToKjzzP4giazjQVwaRfeCcnCd4205vs7BBt+RYNroH/r?= =?us-ascii?Q?vYUOgofMpBX3OwHFEB/tq5N6pdLPlfcxAI4+QSFf/gnSEkNPQozsjb88HCD0?= =?us-ascii?Q?+axG4lApAyjO5V9MikrtqBg0Reuqq+deO0ZzfqSA0i4/Sx8fyTazlZsL2Gur?= =?us-ascii?Q?7sVm7eU67NAYpO2Tr7CY/O+KCh2uDAl4UhsdLWTacekMmq2PbNhAW5KJsT61?= =?us-ascii?Q?xThbV+7RGUFOE4XncTBA2QlJqHj/yzONFC8WyXrdgHO/MmkN3vtLuMU4vsJY?= =?us-ascii?Q?KB+UUjGCZwO/CdrgtTbLSG9m9r3SBSJDcHCB+SJ2F+nDSY9pryGzPxXOZteW?= =?us-ascii?Q?stlA5ZezkXZqWX89bDFh6PxnsSaxS86ocr8+Nq+hq4TE9OFf2Eqd8KA6sFYh?= =?us-ascii?Q?sBDKt6w4AB/F+tCahUsAxkrmTCyCK2aaUibA+s0aNh17dAM88pwaJQeVKtCT?= =?us-ascii?Q?ZkbbZSJqXGEhe9U5Xl6ITLkV8NnCLW/xc9Qy/3Dl3kqoVfvMWkFwCFhMeCKV?= =?us-ascii?Q?5aG705TfxbPrzYcOji5VU6ItMlFQFFK8ABXF3HGCqwl5zUld/XDSNDyV0aUw?= =?us-ascii?Q?aYIw1Lh00A9b2QcuSgp3hluAnxBydGe1tCbSaCEEugc45/8n6o+LmhCpctlQ?= =?us-ascii?Q?KLiQXHgkmh58M+rotWaQQ/54ZUmO2ZceyofxrJ7AgiJFv1OJ95RFRuSq2Rm5?= =?us-ascii?Q?peLF/An5MyhTj6R+y3+a2z+6jEBZCOfjj6WzQkEAda19fHF7stl8BblWKxT5?= =?us-ascii?Q?7AtuzHmXQLpkmE/em7pzcY0R4TDzPRkKtM7eC/9NY2uq2So2JUbLPQWu/1IL?= =?us-ascii?Q?UPBmyFqsSQ=3D=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: c3ede8af-864a-413d-22ad-08deb0de624b X-MS-Exchange-CrossTenant-AuthSource: DBBPR04MB7500.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 May 2026 10:57:11.5512 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: BJtechujNzF4YX8LLB1rbY/B1opc9c3s+bVW1w41lPHfqbCI8ZnhqMeyM231o1oyHLgFqsIh9CnPZh9/WYRNng== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8427 Content-Type: text/plain; charset="utf-8" Sashiko reported a potential issue in enetc_msg_psi_init() where the IRQ handler is registered before DMA resources are fully initialized [1]. The current initialization sequence is: 1. request_irq(enetc_msg_psi_msix) <- IRQ handler registered 2. INIT_WORK(&pf->msg_task, ...) <- work_struct initialized 3. enetc_msg_alloc_mbx() <- mailbox DMA allocated This ordering is unsafe because if a spurious interrupt or pending interrupt from a previous device state fires immediately after request_irq() returns, the registered ISR enetc_msg_psi_msix() will execute and unconditionally call: schedule_work(&pf->msg_task) At this point, pf->msg_task has not been initialized by INIT_WORK(), so the work_struct contains garbage values in its internal linked list pointers (work_struct->entry). Passing an uninitialized work_struct to schedule_work() could corrupt the kernel's workqueue linked lists, potentially leading to: - Kernel panic in __queue_work() - Memory corruption in workqueue data structures - System deadlock or undefined behavior Additionally, even if the work_struct were initialized, the mailbox DMA buffers (pf->rxmsg[]) may not yet be allocated when the work handler enetc_msg_task() runs, resulting in NULL pointer dereference. Fix by reordering the initialization sequence to ensure all resources are properly initialized before the interrupt handler can execute: 1. INIT_WORK(&pf->msg_task, ...) <- Initialize work first 2. enetc_msg_alloc_mbx() <- Allocate all mailboxes 3. request_irq(enetc_msg_psi_msix) <- Register IRQ last 4. Configure hardware & enable MR interrupts This guarantees that when enetc_msg_psi_msix() runs: - pf->msg_task is properly initialized (safe for schedule_work) - pf->rxmsg[] buffers are allocated (safe for work handler access) - Hardware is configured appropriately Link: https://sashiko.dev/#/patchset/20260511080805.2052495-1-wei.fang%40nx= p.com #1 Fixes: beb74ac878c8 ("enetc: Add vf to pf messaging support") Signed-off-by: Wei Fang Reviewed-by: Harshitha Ramamurthy --- .../net/ethernet/freescale/enetc/enetc_msg.c | 24 +++++++++---------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/drivers/net/ethernet/freescale/enetc/enetc_msg.c b/drivers/net= /ethernet/freescale/enetc/enetc_msg.c index fe9680a97b0e..c156a566a751 100644 --- a/drivers/net/ethernet/freescale/enetc/enetc_msg.c +++ b/drivers/net/ethernet/freescale/enetc/enetc_msg.c @@ -109,6 +109,15 @@ int enetc_msg_psi_init(struct enetc_pf *pf) struct enetc_si *si =3D pf->si; int vector, i, err; =20 + /* initialize PSI mailbox */ + INIT_WORK(&pf->msg_task, enetc_msg_task); + + for (i =3D 0; i < pf->num_vfs; i++) { + err =3D enetc_msg_alloc_mbx(si, i); + if (err) + goto free_mbx; + } + /* register message passing interrupt handler */ snprintf(pf->msg_int_name, sizeof(pf->msg_int_name), "%s-vfmsg", si->ndev->name); @@ -117,32 +126,21 @@ int enetc_msg_psi_init(struct enetc_pf *pf) if (err) { dev_err(&si->pdev->dev, "PSI messaging: request_irq() failed!\n"); - return err; + goto free_mbx; } =20 /* set one IRQ entry for PSI message receive notification (SI int) */ enetc_wr(&si->hw, ENETC_SIMSIVR, ENETC_SI_INT_IDX); =20 - /* initialize PSI mailbox */ - INIT_WORK(&pf->msg_task, enetc_msg_task); - - for (i =3D 0; i < pf->num_vfs; i++) { - err =3D enetc_msg_alloc_mbx(si, i); - if (err) - goto err_init_mbx; - } - /* enable MR interrupts */ enetc_msg_enable_mr_int(&si->hw); =20 return 0; =20 -err_init_mbx: +free_mbx: for (i--; i >=3D 0; i--) enetc_msg_free_mbx(si, i); =20 - free_irq(vector, si); - return err; } =20 --=20 2.34.1 From nobody Fri Jun 12 18:34:03 2026 Received: from MRWPR03CU001.outbound.protection.outlook.com (mail-francesouthazon11011015.outbound.protection.outlook.com [40.107.130.15]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E9F033FBEBB; Wed, 13 May 2026 10:57:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.130.15 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778669840; cv=fail; b=AHg5lWTTznFZ/0gE93ZH98USv8kHu7rxWSB2V3s6abgGNu/9jKlkUP0kkSVuCMO8QchawwRFm+EzOGTSm6hKG9+Q31WqWNM34lcaI8pOmMUtIh7r0/22q9R7Ot7Q6dPIv2lxhDopTdyuBXIU465nwyfnWtT7FsgcHDmF7txurJc= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778669840; c=relaxed/simple; bh=Iur5/EtmFT2zL21Jh7pMQGrXgctdMZa93XjWqR3bj1I=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=blp4W0X/8/rKm7Gx1mzSCMtfTRPlK9u4Go2ZYRmNckZxGb0ko6DQyBISt8kKuaENTk/tAAjbVgyZzPAiyRVYEPrOAJLmUINI9qBlEODVfCzCFP5+zAbqPvZorvQrVuXAAkh3ZXwROGg49CiOAwAothOg6eS0EAxelTdBNgFndW4= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com; spf=pass smtp.mailfrom=nxp.com; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b=jtuKIgMl; arc=fail smtp.client-ip=40.107.130.15 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=nxp.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=nxp.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com header.b="jtuKIgMl" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=T9B3XJj1fssCQ0arZ7kQ8dYy0O4YWR7cHw5O0vaWS6vJ8bR2rv6wM35FQQbJKmw2J6R+QHG6GefrZoqeQtOqV3QXN+4ENlkfcN+b52npD1o7mZXMXtTYsVilmyHO1B0/2QkocH86kBHXHHqgZSz9zgHcohCpYrmkZpusB2Ebiu+wkzgxXHNYI6tnz4OlGlIRLDA//yXOFaXFm/Q/EY5U93ci4zkmYeIqcUMzrYcrtqaxH4xvaoYE686WzAMJfpfbztzzuTQ62OhW95cIRINJtlqah+C6Mqj1/CuQm73zbdLQTpJ1D7c7lhrrEMi3SdrWsAXbiA0iwvgpICVDRUZfmg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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; bh=YyLzV7m5QIuSXCBQxaMXkthoJ59wstg0QIw9FXal53o=; b=tuschVQ0wgBhRctgecbevREOsK/ZoiVWBXLuRlabyoa9XA9SHmTJLLloBgDJND84TfQSka/Z8jcdqRY1j4OrWDA8Pmyq7v1Xw2W4VnROfTXASp9qFvfr7//43jpWVYRlke6gy886ABVB2YB8Fg3okPpzaZCiPCsNw1HqplpqrfqoErPwjVdL819G1Wx/FPmb9IEZ3o0xIxtHm74X/DClXVvNiMlKQAEjAx9ZDrcnCgL2AWjWj9aE5AkxFTSJT16leD2hC11q4eps1zNCHtGV2kyqUYMFy3sZCdIs4z5VXrwRfv108kG5JChAZhryCz9wWRlA7VN8BG2Dwytt7oajCg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=YyLzV7m5QIuSXCBQxaMXkthoJ59wstg0QIw9FXal53o=; b=jtuKIgMlpArWW6P3K2bM3IOnI2MS5pjOtrgRV4v8BUHsQMF+wY6ZiVkOUKPxKbpsyQWxat7Pb2KPugC7/aGAbj5wseEPd1SVBJgpVeMs9o5GEPgqoweNISFIPfnCnhL3lzH8T1Hd1wKnReN2T2GoPbs1Ir5l4t+w56znoap2CHzLb9g2fViWTkrj3awNK05PLJKB5fIDyN6RNkgxXM15Uyv7aTEXNtzls+NL8HSRcIhDyI2wD8z4IllNJ+E3gagFdy3LWwi/7t70KrUpHKpnS3feVyiMMSynzinrT9KFKfwbXXfgV4Z6tTEh59rktttZo23mzT2YvdUrjuO8cV3x9A== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from DBBPR04MB7500.eurprd04.prod.outlook.com (2603:10a6:10:1f4::16) by PAXPR04MB8427.eurprd04.prod.outlook.com (2603:10a6:102:1cd::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9913.11; Wed, 13 May 2026 10:57:15 +0000 Received: from DBBPR04MB7500.eurprd04.prod.outlook.com ([fe80::c291:543b:4bde:cee7]) by DBBPR04MB7500.eurprd04.prod.outlook.com ([fe80::c291:543b:4bde:cee7%6]) with mapi id 15.20.9913.009; Wed, 13 May 2026 10:57:15 +0000 From: Wei Fang To: claudiu.manoil@nxp.com, vladimir.oltean@nxp.com, xiaoning.wang@nxp.com, andrew+netdev@lunn.ch, davem@davemloft.net, edumazet@google.com, kuba@kernel.org, pabeni@redhat.com Cc: imx@lists.linux.dev, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, catalin.horghidan@nxp.com Subject: [PATCH net 6/6] net: enetc: add ratelimiting to VF mailbox error messages Date: Wed, 13 May 2026 18:30:21 +0800 Message-Id: <20260513103021.2190593-7-wei.fang@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260513103021.2190593-1-wei.fang@nxp.com> References: <20260513103021.2190593-1-wei.fang@nxp.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MA5PR01CA0123.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a01:1a7::13) To DBBPR04MB7500.eurprd04.prod.outlook.com (2603:10a6:10:1f4::16) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DBBPR04MB7500:EE_|PAXPR04MB8427:EE_ X-MS-Office365-Filtering-Correlation-Id: 90c93c85-a5c6-4591-6952-08deb0de64ef X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|19092799006|52116014|376014|366016|56012099003|11063799003|22082099003|18002099003|3023799003|38350700014; X-Microsoft-Antispam-Message-Info: KngjcANmSLVZAqEF0WqCsdsYzR7wafXOBU9Ze1cgKonVfaoGmVQ30q46tz0sPm2UY2PDikBDwL6c7soopvjmY5m4vyTflKWtOF7aGevLXkMoQQENMBc9a5G6vGbMv9mZw/RlIU+j/R0SbbuV4cdPWVJTBWNHhSwGUotLGr8BDXXUVYjiliiB+n2jULVUfRvhqcXJstADsdzLkpnEAh0Lok7c4yeBUorYtlAG+5shqKAXQ4l+cuWfOC4wYzyDfFSDYkv9uIY8PmKHk/vD5GEd/Zty0QoYKQU9rG5YK6Y2+S0CEzMW2M5SnOJBmoutE9/DNPf8J83BxSWMn49pA2HFfNqNCuyS2YSe8rfXKAdgrVdShy+r1TBN5ZJFketgbxok4tI5reZTViRJBUzScxzf1RClDgRz8fn1Rq1XXCbSMH+FGM7AWDs6l7I4sX3A2s5OoWCR5/vIkqdDxzIfRE/o7YHsa3ge95+SOe0a2VPdF+qjGNXH8jz7jwYBzesoYt2uUCeWRI5FzM2qXU64iRU+C2mdZcJWJ+ru3CigUcRCiaP9Eqs63GqIKg4EGtwxbNMR9f0anvLO4AN8kM9y3J3uptaR4FfCkWYXCvSSGy4VACpw+Suo6qZCick6d4EpJQWp0gfIm7Ilwd49wYC/zmq/T3yxXycluVcwFvUul6nR5nRThPVTkj75YoVrkE32c5pc X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DBBPR04MB7500.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(19092799006)(52116014)(376014)(366016)(56012099003)(11063799003)(22082099003)(18002099003)(3023799003)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?Dxll1sUnGWS12fx3oFivoOHl3k2lTab0wkMcqsJ7VdkUfRtwl9BgAdWrdp8/?= =?us-ascii?Q?UrkAhnCqcU0qJ2+NCiLnq0q5A2eA/t4uQU55vd4taASkRt9Z8EStZreyr4zr?= =?us-ascii?Q?7/zR/IegVDPYoDQ83ZoKucQdHpM48WLKpRCVqUq1HIaL5gnxI+LLr8mB52RL?= =?us-ascii?Q?jg496gZpmHsJIhEyroDY43CqBYbBAw2XClBl0LxGghuaZ8/p4ELMX6AOz25m?= =?us-ascii?Q?QgZ5Rq86GzeGrQbbH5wqmSfNminrVtEdkjhSTOKImFoE3PrlcN5LpVsUdOxa?= =?us-ascii?Q?HIdFmahHDQ8Kodq1M8rKabGBwSxrl98l48awWIJKVnwd57sftOs0dPw8fCXq?= =?us-ascii?Q?RL6gJyeu5rKuIpDpenv1BUhSxYFb3s9xHr5/ZlSzwsLy0tasOqKZKdSo8pjS?= =?us-ascii?Q?U/YEZuk+kBLZMJbcvWcLlwYb6gglz3FweSK2npt4uzwtIfgDP8y9nbWW/KVm?= =?us-ascii?Q?Pt/K8N0LQGKBzmGWKnSKVU3n05jc15Bu3Osn19osHsm8nn/KiPBFrlgPFPI7?= =?us-ascii?Q?BdmsqSi7lbo5T1oR2KSqIbjYhpnGPk1kJtZ+9cDvlFxXUz3aVyPpxBWnem27?= =?us-ascii?Q?Mv6MwhUsISxIdcZNjwgGzo8boFc8IImSetJFLbtbpwKve4SWIqad4lDOUgou?= =?us-ascii?Q?MMyBrgQIptUtQ4q8oqYLScjaq/3BM4VMKcRq3foLkev86QCG355rDqZlIqG9?= =?us-ascii?Q?OKvwGiDTAPzBYLp/K671f3+OQMEokf+CR9PBY5hmTzen50HXIxC043hZdIyZ?= =?us-ascii?Q?ba8r0BzLWgIj/d7XAKBQvtkqb8QPGOpyWGp9tD8qINLShvbteTEUWJjfTLIR?= =?us-ascii?Q?Deke/5wIptPABntS/9XOWybPkCdfPEavy2m8oVNgUkER0bbcbCPngvtcTa5e?= =?us-ascii?Q?+4edT18WQWnyqrktDf2vj8m2lRNwih1Jw/yuH9gnzLQMlomC40VSTeK0ciZp?= =?us-ascii?Q?ArrKaKrUw3qJHcgxpg65rzzyu4Y13W5VgS5pNgyUIisvHoG2n1H10GAJlrHS?= =?us-ascii?Q?Lj+YwYljjI615LX71vqIhUH2cyZZ1lOXT/F982kYkkGbUhX+9bakPrbeOwDE?= =?us-ascii?Q?f5/sQhjxWNnlGQdRysY811gl4WhRdg5BTRneUFwqmSgEOTz8X10wi4sDwjU6?= =?us-ascii?Q?UOF5X5egOZNieegJdKijO8Ge++0PSnbsBaNpu99DLqG567W0SVeAyozzaxvQ?= =?us-ascii?Q?xbP+i7VU1nV006ZvzMCHFOnUc2XeBcX+Q9LQr5GVcRQZ+HdT45/bvei9x8eI?= =?us-ascii?Q?r8ycnYOWc3uzZiI3gJzEa24ws9OmWKy1BN+8CLXjPP1SZ46a9QP9lJsVhsj+?= =?us-ascii?Q?ZJjujEIdPGTpJUIFf+ailbHKTv8FrS55355R3r/i0slQYI5O0sagHv8JDzFY?= =?us-ascii?Q?QfQZuwgjL5ue+WlNbF6171ZYvCDMt/ykxVCJeNwTA4spC4DhkOcoUBnEYJLN?= =?us-ascii?Q?nzfFmZ3AiifQMyJdvKE47yDoncxDl21e7CGIW9cZhCicQS/LsGpPkfkj7X3V?= =?us-ascii?Q?hOkIWZ9Z26J89oyrwtgT3eoYP+MjAkHS/t5jc/kkiMvaS1E/lu/16j+ySm7a?= =?us-ascii?Q?/BDbDWCLXlVVJqhrwCGrXJQol3/Ad7+xV8Ie7frWgefua8DJZMgFvHVR1sL1?= =?us-ascii?Q?4Q5ysRcchmN7vGmWzmZBxVjUk8MG/swiOUJsxEAatLiYoRSkTtgSsJUghd8A?= =?us-ascii?Q?h/Son1xJUDMJUdlb/W/Az6/CQfYKkIirc5ll4Rkz7TIcTMSOkWU0L7z95Yly?= =?us-ascii?Q?nClCZx/ZEA=3D=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 90c93c85-a5c6-4591-6952-08deb0de64ef X-MS-Exchange-CrossTenant-AuthSource: DBBPR04MB7500.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 May 2026 10:57:15.7515 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: MTGHv2MxR751CI4z5gxlKXudwWoFTYDrbC2+UIcdNvmFK7qpbcX9meq6oXK/20baLKC+TqE5HBnhY8Up0Z0wMA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8427 Content-Type: text/plain; charset="utf-8" Sashiko reported that a buggy or malicious guest VM can flood the host kernel log by repeatedly sending VF-to-PF messages at a high rate, degrading host performance and hiding important system logs [1]. Fix by replacing dev_err()/dev_warn() with dev_err_ratelimited() and dev_warn_ratelimited(), limiting output to the default kernel ratelimit. This ensures errors are still logged for debugging while preventing log flooding attacks. Link: https://sashiko.dev/#/patchset/20260511080805.2052495-1-wei.fang%40nx= p.com #1 Fixes: beb74ac878c8 ("enetc: Add vf to pf messaging support") Signed-off-by: Wei Fang Reviewed-by: Harshitha Ramamurthy --- drivers/net/ethernet/freescale/enetc/enetc_pf.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/drivers/net/ethernet/freescale/enetc/enetc_pf.c b/drivers/net/= ethernet/freescale/enetc/enetc_pf.c index 052cab48df51..73a899b00308 100644 --- a/drivers/net/ethernet/freescale/enetc/enetc_pf.c +++ b/drivers/net/ethernet/freescale/enetc/enetc_pf.c @@ -505,8 +505,9 @@ static u16 enetc_msg_pf_set_vf_primary_mac_addr(struct = enetc_pf *pf, =20 mutex_lock(&vf_state->lock); if (vf_state->flags & ENETC_VF_FLAG_PF_SET_MAC) - dev_warn(dev, "Attempt to override PF set mac addr for VF%d\n", - vf_id); + dev_warn_ratelimited(dev, + "VF%d attempted to override PF set MAC\n", + vf_id); else enetc_pf_set_primary_mac_addr(&pf->si->hw, vf_id + 1, addr); =20 @@ -531,8 +532,9 @@ void enetc_msg_handle_rxmsg(struct enetc_pf *pf, int vf= _id, u16 *status) *status =3D enetc_msg_pf_set_vf_primary_mac_addr(pf, vf_id); break; default: - dev_err(dev, "command not supported (cmd_type: 0x%x)\n", - cmd_type); + dev_err_ratelimited(dev, + "command not supported (cmd_type: 0x%x)\n", + cmd_type); } } =20 --=20 2.34.1