From nobody Mon May 25 05:54:20 2026 Received: from AM0PR02CU008.outbound.protection.outlook.com (mail-westeuropeazon11013002.outbound.protection.outlook.com [52.101.72.2]) (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 6D7AB371CE2; Mon, 18 May 2026 03:03:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.72.2 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779073391; cv=fail; b=Tm2JEIYiVv5zqcvFve3bQTvq47h5ST3oa/HM0hAovjifEPv6+YOfadMFDwzbYCjqH1kOMyfKH1UpkrDvp2fWmlz6pfpNSTEulKEovEowFQCIuhWNE4P1ZJq1Aley/SIisq5jqkqMgtG/3srJ2V26FVOjjkN7NsjVGl48DFZOMzo= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779073391; c=relaxed/simple; bh=kQiEtPCeww3K5g0dcUTvQ1I8pXfAQKsncyjvkQo0MAs=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=h9GCtybl8W+EPY7xZ/GYjtbqbqIYWDYqZ6Qu/BSBnx+iCGhvgrNSKl1xjMgCRzFS3WtJZmNEjUhSqWX6tL2rKM9kFBjGX4jtfcgqN+SeAtzI6FDBHK8KUAZmrHqy22ziT/o3kGZJsWdkm+hMfwhUR0w5ibfYKGoDRQa6TEI0408= 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=DdCCiXQo; arc=fail smtp.client-ip=52.101.72.2 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="DdCCiXQo" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=JTYbq2UsvIQYtPfLgxrNU4/rBh+rlblHWUrKz1tq9CPUyjeg8kfVfSPxXNznlGKRfI80m6WKjSGSPEM3Ht83i0aY4sHhlpjaD/A49jZRKzCMVCYEZcyKZkw2j+oAAn2rodKXCrDbfPPxAahc8PP+mPX0T9TQsL4t9wrOtU3hEmJAcPSDy69PECyYYt+lDHkTXHC32k26orSNZSyinG9546SbYmJn8vH6TwN9ekBpmL4T8F6KVRJkd85uCzTAt5iOBSq0wM68PkvmgXjt7SmlN6QmvJweCOxalaa1uVDDHgjnLhyT83jXHJl5eYo0R/S8AmbPdnwWoGam+D/Js6hjcw== 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=FBS7zaJm4TfeW89NBHCAsnZch3rOYetmUAJ3mUd3eBQ=; b=bnrQ19cFRAAeDYxAXb5zNmlVC3NX2D1Z2efpGiBuAAv17VNpcUwajqcRuCLFC3tVqUaigTrBiAGptKIQxldQGUSCys6ZSMmgAVBTrE/S5IfLteiKMvW2Xhhw9Qd5STfaUaTGNRwpatN4a76QLDTezaXBHlmQeLvfulHLqdv4t2bN67ypuaeTJ0AU7iIBNFip7yJuqI5BL9eaaBOLbmXpcQXAw8SHSFn4PunvACgX4nlhhBIFI0IvRPTNla1XGJCh0sktNum2Ivn9PFJZOFssXjbStPXg/7hySS/TZXpFZtByG3xEZfOfpqjR/iJPaT9tjbTyDrsc/+W+RbbSJb+E3Q== 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=FBS7zaJm4TfeW89NBHCAsnZch3rOYetmUAJ3mUd3eBQ=; b=DdCCiXQoB6kyIgpe5aaMxVAGsQ/IqrPoWyTJ5wYJo3zUp9dyD+ArlSxBvIYzPk5urJ10WuqcWKlMAVqGuEuIhpnPCAhZxSmriQ3fz4zMJC8DxYcATtDCp+BERd2ScptOG3zZZ7pXGs0zBSg8gYkktc5BSEX44G2KM3A3EWa07WGxjgWZxJwIUVRUQ5aR1vhqw+xGvtw0uHdIeoBLJ6lYCZjTZUQVIvQrVkKn1rjPClDHV8nIPz4el2oRseA3qBhl8rKV7SoxGChc7bxg+1hGfwpc2GWGa9fM/yk8NDK3oE4OBtMf7oxSko+NarxAKmOrigtHVVOkhLiaSa+Z867Y5Q== 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 PA3PR04MB11180.eurprd04.prod.outlook.com (2603:10a6:102:4b2::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.25.21; Mon, 18 May 2026 03:03:04 +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; Mon, 18 May 2026 03:03:04 +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 v2 net 1/9] net: enetc: fix incorrect mailbox message status returned to VFs Date: Mon, 18 May 2026 11:05:27 +0800 Message-Id: <20260518030535.1057228-2-wei.fang@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260518030535.1057228-1-wei.fang@nxp.com> References: <20260518030535.1057228-1-wei.fang@nxp.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI1PR02CA0037.apcprd02.prod.outlook.com (2603:1096:4:1f6::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_|PA3PR04MB11180:EE_ X-MS-Office365-Filtering-Correlation-Id: be3e01fc-b5f6-4020-ba1c-08deb489faaa X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|19092799006|52116014|366016|1800799024|38350700014|22082099003|56012099003|18002099003|11063799003|3023799003; X-Microsoft-Antispam-Message-Info: tA6LQcLtKbl3Q2cfhDI56ZyCTkpccD7ch8zSUD0khMI3x5lGzyvg6VhQAN4VHxwBdwB5TU8H2R+PIsTwZdbBE9TUP/wzu7S2ZvJCRN3U0eT3+KAgplMM1uOm9p1HE6df2joMQE6qqUicCxxbdLEsMa0ac6Ge0q3gyG9B2MaU1S0FN7tl6wLZFQqpDQNu39WEqT9d1N6QoiInm65YCvcKWxI0cvrR8i0cUOYOvVlcKTuanNWjhZuGJwUcQgMBbtHxdwYso/Y2ehJITe9qB9LCZCieKORaPF+y9Lv+kmkYqffEkESW6pSG8Jl7QNaQBMn0vRu2mK0d53HJ83o6SW8OVINSNlJHXRMo6vGrzFln3hhciEyjg36t6uLBuSq0MkOOq+9kGVPFELAOSlqUvn7EYW9DuNWXAInTUOdR/y1bZoDr1f9ehOVJxH9vO81dvstgzpBN3EYDphSS5OaMgcWqIKQ7InUlVJQoUzxJ6sgDnkcA5QqNWeWmJTqREHnPKpNvQijTkUi6IEuWsucs/gHOdi6IPFaz3i3XTvFT0G+rQ5/Hp/MqBbPcjFTUi+4Jg0/LDgEAtj24w0p6zziEI7rbNR9FC14fQmtMSg/j04R6aF2I50dNYd26w//Zee7daSiUfsXQ3s7504vH7bGE1SaOt9D778hA38TxNyXXjdysZsW5d3y390YHxMCACZfruAt8Us+ysrXxNEGD1t7S1hhBZQcGfPnN0LL3BQCsmPT7RFOUGOHQ+Dp45TJkNMsKdj11 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)(376014)(19092799006)(52116014)(366016)(1800799024)(38350700014)(22082099003)(56012099003)(18002099003)(11063799003)(3023799003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?DHvxMjmEVYtcDOvVaIISGGNl9EV6jK8aueYG7DUXEm1/NmFCA2L+8iEu4VbY?= =?us-ascii?Q?3urDA79ED7x+tX8Qvm6z6qPHO++ZVaM488tr6k5zB9iXeXgnPX0Ma43zGxEE?= =?us-ascii?Q?mPd5fBvdlphHevIcVBIS2IdQWOP4iM4hd0tpXmripi+YmyPg17ICW83DO+h7?= =?us-ascii?Q?lu+mD+1N1PiBVXLwfFFlU42o7s1om11a48rLhEyWPYsOEhvwSEHthtcQFRmW?= =?us-ascii?Q?L+1becRuLb3NHnIrdsv+RlXZgSshakJ/v77ER8uHLDmPOfMx1/w7LDswZU65?= =?us-ascii?Q?pIFQC1oXDl3M++fPBI9ockxOq7BGka2T1H3cUWyWGG/MGG7u93W7xG5hPQgU?= =?us-ascii?Q?lOY5YdtRjYG2grYy5ufNj4VFaiyeIhiBQKZILFEXvFyAjEADTC14OrQvtKPC?= =?us-ascii?Q?aIgkC4zBi3MVDKXJTa7a9YkA8esSYOYFxWEbv3ORzaMwpim7UJQeA0EYBlNS?= =?us-ascii?Q?FZ9W+XN7mrQ5ZOpUzx4XF7fsy7EXKWUon0SjLbk5hvnUDPnh1AeCRty6OoGV?= =?us-ascii?Q?hiytWhAgEna6jVrmaqsI/ov8+gCDWcue1FUH+vLbl3VjgOofxpZ4A1dH26zo?= =?us-ascii?Q?9C9QccD5ObxoaZ97U1nym90/WcR1tfVOLORGtr3WK1sGxJAcJIIsQ7WE6iGL?= =?us-ascii?Q?bQvW5yn2y47N0zugse1VKUnOjXOGjse9G8EszpL1BRDpbsJRs9ZlM4qzZP+S?= =?us-ascii?Q?o2e2TkWPryi8XCeJc76h4/0CT3MctmsjSj8qnJVGkg9HlNUiwOZKUMNuYnYh?= =?us-ascii?Q?INOM+P4jAnnSyxaFwDpn7liKCpDctQvengD1D8RNiDjybnVFvLWX1HKDGllJ?= =?us-ascii?Q?TKLMA+wZ6wpnMTh6fGyDuniXalGVT/vQA2VDEQHoyri/5hZmVdz3ucNjpGht?= =?us-ascii?Q?G1nsxnslwNZjN1/aNdIotVoOvnRvZuek6f/Ckc/iEQMmCysiabwfECc/HLPD?= =?us-ascii?Q?VCeJQTfcLGwOMQy35pTmKW78oGrVSDuEfZC1iRZANEbHr65oSGD70US+Y1Wr?= =?us-ascii?Q?uyRgBrR/Ai1VA9o4LbvbDR2hEgL97uLPsWMfu12gs7PdhE3JePEEiGGnltfH?= =?us-ascii?Q?6niE63jzSzDFkoeGmt2CHQQbcW3G4P2Ud+0zC9tbO8Ddwm5cN1j0/jySjr8E?= =?us-ascii?Q?uQ4uv98ZD0A30RvwnaajNxULQI+h+TCcKlhL2k3MFFlF3dz9P8sltFeu7ESL?= =?us-ascii?Q?yNHAriljFoxgaPs1GdaOrD4lKL3H697GcYnPoQCjKUpIYEVs4x9sbA/r0vaS?= =?us-ascii?Q?E33DjwseByGtJ3NPkPVsf2JWsRE8A8DhghJuSpE37tjp3dTU9gXvZ/pDarp6?= =?us-ascii?Q?xLdonJg2+fmiqZmhBF52S2vme7fxrVGt6oF3kdwzL6wDdbBpimAvPwr2WBK5?= =?us-ascii?Q?ZcefFqgpTRBDsuVLTpd6NnE7vAGsgrITq6YBDIMULvrD0od3bVSYTl46KwP4?= =?us-ascii?Q?5OwMPUox8X5PsGm1YsGnqY5ly7mDZUdBIYv6KTncQALHOZWYH4nwKh694ZYb?= =?us-ascii?Q?FSGlVldyAiD+PIx3bnUFBMiAVIugZfyesnQvcw5AXfckFLU2CybHnCd/D9np?= =?us-ascii?Q?6k+M0b/FeM7Bt9louftBzjGzSQlAqxmt7EWAmSqvATunK5vGyfcQAc0b0dMu?= =?us-ascii?Q?RVvp2JHlHhP0HnTB3btt89vIIYR3UZjRCWlDdRKxMzO+tzjRivH+VbpyRZdC?= =?us-ascii?Q?5LIZG8qcVURgrGT9Dv0TxomFCm7BXd1M13mrJJIRi5yKCd5vUT5HQ5ztv7u7?= =?us-ascii?Q?/2CnwjagqA=3D=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: be3e01fc-b5f6-4020-ba1c-08deb489faaa X-MS-Exchange-CrossTenant-AuthSource: DBBPR04MB7500.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 May 2026 03:03:04.6300 (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: iRNwabxwk/KK/+vT+QrUcXsF8q3R7jEuXaUVVkH+TApFsAiJMiQgTFgMwihp93rkVqnAj6pVnjg4bR1wPyuD3Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA3PR04MB11180 Content-Type: text/plain; charset="utf-8" There are two cases where VFs receive an incorrect success status from the PF mailbox message handler, misleading them into believing their requests have been fulfilled: In enetc_msg_handle_rxmsg(), *status is pre-initialized to ENETC_MSG_CMD_STATUS_OK. When an unsupported command type is received, the default case only logs an error without updating *status, so it remains as ENETC_MSG_CMD_STATUS_OK. In enetc_msg_pf_set_vf_primary_mac_addr(), when the PF has already assigned a MAC address for the VF (ENETC_VF_FLAG_PF_SET_MAC is set), the function rejects the request but returns ENETC_MSG_CMD_STATUS_OK instead of ENETC_MSG_CMD_STATUS_FAIL. Therefore, correct the status value for the two cases mentioned above. 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 a12fd54a475f..27d4bb65e017 100644 --- a/drivers/net/ethernet/freescale/enetc/enetc_pf.c +++ b/drivers/net/ethernet/freescale/enetc/enetc_pf.c @@ -493,11 +493,13 @@ static u16 enetc_msg_pf_set_vf_primary_mac_addr(struc= t enetc_pf *pf, return ENETC_MSG_CMD_STATUS_FAIL; =20 addr =3D cmd->mac.sa_data; - if (vf_state->flags & ENETC_VF_FLAG_PF_SET_MAC) + 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); + return ENETC_MSG_CMD_STATUS_FAIL; + } + + enetc_pf_set_primary_mac_addr(&pf->si->hw, vf_id + 1, addr); =20 return ENETC_MSG_CMD_STATUS_OK; } @@ -509,7 +511,6 @@ void enetc_msg_handle_rxmsg(struct enetc_pf *pf, int vf= _id, u16 *status) struct enetc_msg_cmd_header *cmd_hdr; u16 cmd_type; =20 - *status =3D ENETC_MSG_CMD_STATUS_OK; cmd_hdr =3D (struct enetc_msg_cmd_header *)msg->vaddr; cmd_type =3D cmd_hdr->type; =20 @@ -518,6 +519,7 @@ 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: + *status =3D ENETC_MSG_CMD_STATUS_FAIL; dev_err(dev, "command not supported (cmd_type: 0x%x)\n", cmd_type); } --=20 2.34.1 From nobody Mon May 25 05:54:20 2026 Received: from AM0PR02CU008.outbound.protection.outlook.com (mail-westeuropeazon11013002.outbound.protection.outlook.com [52.101.72.2]) (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 51FFB37C112; Mon, 18 May 2026 03:03:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.72.2 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779073396; cv=fail; b=EyGZKoxaGqchImOPqSKlVMBDDDOJRXwb88LczNrWp5K30A2WUNyD9gBmYucY/64HDldkcZ7X61E5/y0ng/HHlROHNC7N6jgXkbZl6EmdDt7ffiIePdM6G2JO6MSkaMWDZy3kno7IgUx0ftNUMhHbBMOYvEdhWvWHDxnx0mK3dww= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779073396; c=relaxed/simple; bh=g2yO31hkPrwbc+jLq7UjxgSo640GYCqomiVAxICctWI=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=JyGH/Mw2swBXqTIv2GC6Q/fCkOeqktf10hBaIqdHqPureALrU2Oz8MbZ7TND89vI5uLmXvXwky1NHAzGp0DVfdSaMviJfYl8Uqzwb7Hk57O6OU7ppI8tHcYIpWX8NADryQTKeT2tm+iwDYRL2V49xMfMNnZllbh5mT4vQ8s+Jj0= 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=GsPdL6la; arc=fail smtp.client-ip=52.101.72.2 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="GsPdL6la" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=OIK0Ov2Lyij1agtLaFDZVHLRfC8HR7xMbd7a6ledCJS6Qeaw5N4BFDumdGo3KybiXKwhg3XvXiAXN03tds1BaDbN0aIYf0D0g0/lTEaBrW40HJ+IsH7lYOzRTxyHy+p+iIBUyeNSt1Yqxh1wMtx7DRjV3Rho9cgFUur3e3AF4a1XtZpCRXyH6ksbcRepKig88wFG8pzbhJmF0CNgad3de2JCgKzof6D3P3jE3yQZihXDHgVrIbEl0QPu2uv3ZgTbhBoNOOFr15BXmIvgKWmXv0lT8k6jCbLsSrscFNeZEmB1uDtUlH1dSMRPgHHRnXVCiktBG+versCT5rHmZao7eg== 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=f4ubNFf3c3m9gmtEz42l9InH/kYbBONgQzj+rV8l0bo=; b=OPTjVmVoeu1xK2CU4CogCbZrDIIyJBm2WWQy6TIs0DoZRUSX5UMywYIaye+n9k2ENdpIWL0wyHxu0Tc+5xryinUOJdXfQx1lwazCns1jlwm8I689PaqGtHH66/ibMLkBzeokw+6AIOzPNa7aHTmwL38objaIk0wbWajtznCBU1UcrvG45ct/3ECtdl58if9SsoiHrOnV0kV5OdxzY1MmK3wgOf8QQJVTAKNnNgeeWGl+Jd+IonGc3iLKBA4cjoCfhBXRgz6u01/+IinRAEJv3ZcMTmISi0FAwnOVPSOH5TxCGyyFgcRhWtUersDV/JQgdD39RSYRfhUcXK7ftfX8Lw== 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=f4ubNFf3c3m9gmtEz42l9InH/kYbBONgQzj+rV8l0bo=; b=GsPdL6la2UlUDCq+ub2wnEfMTcxmXxgEwsKvVgTqsFiL0iL5dEWazF1QPvweXGoYH5FyfrBJPoyOa1CwJcypXJIpOhU13YW6aqgeCalCA7cCvVyU76hSwtJ0TPqCwcYv36XnF09S4ggO6Fv3WfeVMo37hIcYt2SvGWTXsraZWwiRZoIyi5e6VGuA6hNyXW8VwFGcFhfdV6RmEXymIlth9rbZmu8dxy3C3YsgorT2XpaNWOnaaxc60haYsymN0FeW1kWLuENlQWWqRP0bzF7i1LfooHEl4KrgGfmggOMOghD++lVmbrjsrdARf5idZa15kOZnINskl/yhQvemlJgbFA== 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 PA3PR04MB11180.eurprd04.prod.outlook.com (2603:10a6:102:4b2::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.25.21; Mon, 18 May 2026 03:03:08 +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; Mon, 18 May 2026 03:03:08 +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 v2 net 2/9] net: enetc: fix missing error code when pf->vf_state allocation fails Date: Mon, 18 May 2026 11:05:28 +0800 Message-Id: <20260518030535.1057228-3-wei.fang@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260518030535.1057228-1-wei.fang@nxp.com> References: <20260518030535.1057228-1-wei.fang@nxp.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI1PR02CA0037.apcprd02.prod.outlook.com (2603:1096:4:1f6::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_|PA3PR04MB11180:EE_ X-MS-Office365-Filtering-Correlation-Id: 065c5d8c-d3ea-425d-e173-08deb489fd2a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|19092799006|52116014|366016|1800799024|38350700014|22082099003|56012099003|18002099003|11063799003; X-Microsoft-Antispam-Message-Info: qf5DK7xb9kK/NluXocEyTHC8pE6DKb9xCDpsJToF1yAFEGOmGRuHzekq3BAON3oEipM4iHGTwLUEcN3uRoNaufTMzGfz5fkS1fycha1QV86sShyYUR1PINCrokZ18rWmlO0HNyC/L0QJq3/c0f6C1hTfI2U5Ee4GrHQRB0AJwIttZJAhvzr4VPsXDlxF2CvJ6nyyHoavHB83jH8X/mQcBvFuXxlM2ydXpUaz6NUJrbI8YtRNdem4clddtTh/iZH5nrVTWWQKFZIIzH8V4WrpjKRyJPA5dN3LD56OOmEX+Tsi+3n8CiyyzvtnEDhSycrIYuQBoeHsHhl+iR5ndX7oaaGkuKa8ZOGSA/NLv7AOqDNdbeV4cDa6ExRJE8o3e7mnwbf38XT8cgANLVA4O07x2v8qYMCO/e+IvqQRWV/t8TTTNVaUFKWuxRIkl1L8ndHldHuFP6dr2qbCEZNOgh4wItx9v/R+fEe6MIn8Yy7p5EIKq9rj2fERp4AWSauCEbePWrtJokvOewxXiyS60jRxvkogxc9oirnfKhZG/x+DBnflOfx+VJ77eZB18gfq5xuBdZD1mwmsl845Yfy+xM+SSxVwT2EqVzyW/tsj5pnqmpFRBMPAhOReDq9mtzGp5gcrhnr0VD8MFu8DjR6p3PgFbJuwqrwpVSHfUhPkFwJose4+5fZLQ6mi0i3Ssf8q0XOfi1BxtUWn3NmRZYrD1CxxwT5Hh7+TXmWrFY80IVf4jLORJ5wHImsUELNkrN57gPak 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)(376014)(19092799006)(52116014)(366016)(1800799024)(38350700014)(22082099003)(56012099003)(18002099003)(11063799003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?FZCbvmSqNzMGVk5sKLt1qbCtDIopr/HxKIKkiYi91RLukfk1OjtThDgt2Zgt?= =?us-ascii?Q?PEAamnLjnadGWitTl0AOwlx5sHKKZZPCxwAtCcDF0OeYGRBnP6fsbzjk/QT0?= =?us-ascii?Q?4wp4MtvcOa+lt3xalEQ6zKwkcLEkVQbhe/FLaRiYWlPypvkaITIVMgQM1WSh?= =?us-ascii?Q?tafwM0hmk+u1jyDxJb2voqU2z2fbnEA1kUUDMqDGCUZavQOYS8dYp/kBoS7g?= =?us-ascii?Q?e2vBPFBsLC7wy6jvO3qdHjkxnZQ2KOBEBhnh6apZeSN0oduUXp+1Gpn6nuPr?= =?us-ascii?Q?pYM0Ayi6S6V4kzrWDU700PiHTKIWj4Ab/0cE9shx1yu/dgdF+062z/TGo1W8?= =?us-ascii?Q?o2tnT3yVnbairX01W2G3JC6hZubICi6g4Urneiji+gOVNzs3PVIZphZDlsvB?= =?us-ascii?Q?PWJvf/GvGJaKA/3ifKze4X1RP7TdaxgIOCczmhPi+/a2MecD+SAeRNl3DgFD?= =?us-ascii?Q?D//EOWqavWR9i4SdDqk5jKAO3A0hCFPyYBVNzYFrXQyLg4V1qs3y0cFgK9u9?= =?us-ascii?Q?1VGLocxHgr1qLgvraZNh1anOL1g472pG/+lqxIzJllbFA+ssO4/e9gRTNjRU?= =?us-ascii?Q?HtCi3DZY6WQay3Ms2QMcjGPGUbPOSZL/Ut2NV+J4uNPhkCRd9umAbgq/ap3k?= =?us-ascii?Q?BcEfgMsqVochLhm1H6hOaJSa/N8846NbhvaLiYyI1dvRIOaiKGuxVSr9d5GN?= =?us-ascii?Q?K9q1BuNwIfl49kpSwHrGGbnUJvRa52yLOU24GodtBN434IkR+fYI5/TdPmQ/?= =?us-ascii?Q?re2Z2QSZsYj7kP2srVOKK6XJgB6i8riUJD3UrVEpDGX8dsuAwX7jTcLnd/YR?= =?us-ascii?Q?wUUFrNuAOyW2MCdaYgzQpsViiTlE1/jRnQtERYI5ec0C1ILd4ihXm34qZ3cD?= =?us-ascii?Q?iDpfGNJgZkA4XtGaM6c6gV4fOdGfbJOOGyCDS7TAYpHuBQDC4oPZzwODNUKP?= =?us-ascii?Q?bAxx5MHR60CZ5COu0tZUSeW26b4NfdLQVmmrOi2MACYOM4evxvTaAHOsKTVL?= =?us-ascii?Q?WK1S1FGwtMlf3sJAr/0ipotrwEug/DP4qRmsD52N/VKNfUY58EH9q8YyMErw?= =?us-ascii?Q?B8op9kDBVRYESE7cbkFB1Y+6eBqlbOCVvJA3t5uQz8hHiFYLYwK+6eDp4s34?= =?us-ascii?Q?EW3Kv727n/68gbxJrXDGIjC5wjkpj1WtWmkxIeiSPYTJDMXmBtQwlWrNFDJO?= =?us-ascii?Q?/eKkXemYVMHId+HxuZlXRV79pUaRqY4wu/HBVoQyPzOQ18+sr141fXca57Pz?= =?us-ascii?Q?XdcyAEzpkTIPDKNLb1H9Mz7QI4tMhJspo/fCe7zvAmRAs7+mYCaovznKW7Ik?= =?us-ascii?Q?cixfRHrFueua9Mt25nPmehhy9edHEhkFd3PD3ZrKHuypQ1UKmRVMuhl/BavN?= =?us-ascii?Q?1HobtnhY/DhPgCl/U/PHExy2w+/OwflHJkqRl8f7lz4StFhRI8q2Z3KXkj83?= =?us-ascii?Q?5SaKOvZLZtdy0DcB6hWNYeVkmtqKzCjrL33360DyO26YRpzqqr5uwBXK7p+3?= =?us-ascii?Q?qzfCmM+EIOzVI4pGYS0gOtt8DsMFc4XbJ9RWd2rag0g60+XSXIeLEG5rlhgk?= =?us-ascii?Q?Y3VT3e/59QHEjKPgW39E+kfbLtPOBo4x69fdM1wmMxNO0mupCO1slKFEsZwb?= =?us-ascii?Q?6kKCOEgkMGhFu2Tjrv0DWaHb9b/9hZI+P2aAI62MKmVN/J2ZAKOwUtZixqNu?= =?us-ascii?Q?wUr07wL7cLdu4sQH+887DlkkwwpS7YlnSUoJEHKrQxt/WSWKv0s7WXrHVJDW?= =?us-ascii?Q?+W0rkrlJvg=3D=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 065c5d8c-d3ea-425d-e173-08deb489fd2a X-MS-Exchange-CrossTenant-AuthSource: DBBPR04MB7500.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 May 2026 03:03:08.5419 (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: vdgUyzkUDkSqyu2x5pTCkGSZXpuUV/MqF30HkoGaz0Hk61kt7cLq83Okkx/NqOowKlvO2NnZW6KOiaLqIU6Qgw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA3PR04MB11180 Content-Type: text/plain; charset="utf-8" In enetc_pf_probe(), when the memory allocation for pf->vf_state fails, the code jumps to the error handling label but the variable 'err' is not assigned an appropriate error code beforehand. This causes the function to return 0 (success) on an allocation failure path, misleading the caller into thinking the probe succeeded. So set err to -ENOMEM before jumping to the error handling label when the allocation for pf->vf_state returns NULL. Fixes: e15c5506dd39 ("net: enetc: allocate vf_state during PF probes") Signed-off-by: Wei Fang Reviewed-by: Harshitha Ramamurthy --- drivers/net/ethernet/freescale/enetc/enetc_pf.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/freescale/enetc/enetc_pf.c b/drivers/net/= ethernet/freescale/enetc/enetc_pf.c index 27d4bb65e017..b743b6d33ccc 100644 --- a/drivers/net/ethernet/freescale/enetc/enetc_pf.c +++ b/drivers/net/ethernet/freescale/enetc/enetc_pf.c @@ -962,8 +962,10 @@ static int enetc_pf_probe(struct pci_dev *pdev, if (pf->total_vfs) { pf->vf_state =3D kzalloc_objs(struct enetc_vf_state, pf->total_vfs); - if (!pf->vf_state) + if (!pf->vf_state) { + err =3D -ENOMEM; goto err_alloc_vf_state; + } } =20 err =3D enetc_setup_mac_addresses(node, pf); --=20 2.34.1 From nobody Mon May 25 05:54:20 2026 Received: from AM0PR02CU008.outbound.protection.outlook.com (mail-westeuropeazon11013002.outbound.protection.outlook.com [52.101.72.2]) (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 F347D37F741; Mon, 18 May 2026 03:03:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.72.2 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779073400; cv=fail; b=mnIRSbUAQwVQa+dVXuXvDjqWdNEEnO2eR3uldWNEUi8da3K90fdjD9OX49ZveIWUJ5VWsokRj/CPlNaCeDNA54fmQYxmUlcbEXzShKl1tWVpkDAfweO8k0cUg2D/rtc9PWn7Mz4uWnJxBRzRNMP01UO37FLMaWl4Ae4dWH8M8wE= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779073400; c=relaxed/simple; bh=QXpYs20eHCvO/k2pYLJNeby5MwrdUFqNBPPbnb6OqA0=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=meoXX8V4VTiVXHwUkO/tU5gv58kxi9A3fz5Esj9BAHuFzySL10XdN57tedfgPSMdHThjj8NG4A7Q+rNAIZ1mlzuLK5N8+PdjhF5wSpCyDrR46Z0ReQnX0VQnIzuN9K6gFSWD8OA0MKQx23BUtgdwsfYU2X0wWxl8EMJF2EhHPYE= 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=PaqA9GGS; arc=fail smtp.client-ip=52.101.72.2 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="PaqA9GGS" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ODm+jy25wY/XFFnHuy2KlH9OAXsepGZIh64HkEy0yNvQqHKbYTCZnrQFd/BhFN2NC4WNCBPLNmvYRVetS2Z54iVMp/rIXDFUKBD3exXztofth2hEdf+9c7AYoXB7UPp4dSy8RAxjrD1IG5h8o7nf9w6cqhJk799BE0YQCNDze03SnF/8yX3rl7Mxew6Ga0ng4rHEzKQ+nE+0F+i9w7KbB9GNcOnH+UThsbZKCb+zezJrHxqihZ0fXchTquQV/0PoZ9ilPuJK3U+KRex/6Pj47U1BudIYY4E9f0im2Br2jSe9rqEeSUKnUm2TDLohepB8rRcNLuq+HLwQ55ztNvGJUw== 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=It9D+0v8EQYKHxzIqko4U7MPJXO0y4lAV+5Who3xT8Y=; b=VRFjK/qup+C8d7TP3gU4l0z4xye8ACL18EjCjMSPrAcuyIbRslTRd36o2vJ9hDDZiPpSNrBWW4vCTRf9fUEF62n5R0TDCaOPB9V/aCeXvUqZudTphZDD5uC7QxNurdDgDn7VEjgml87otRAvWiY6Z8nNLMudW+rK9vpUx4pfEmOscpX349Ddc7tBp1L6Ev5CIdRLBukInqzGbK3rjYCMENtoeVuAyzgbQQgZAKCw/r8d2ru0rzVHXiihX8Nu2pxc8oI6E8MJxRnVfEuVcfg27agxpAmifxDAp2sLsUwBrUuc1mo24N44+oV/V2FHiNe2hN1SvgGfg83BmcjMss2QLg== 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=It9D+0v8EQYKHxzIqko4U7MPJXO0y4lAV+5Who3xT8Y=; b=PaqA9GGSSWcX43A3U73tnDLbc45RN7CeCi0SLH4mka/o1vh2NWf5Wwpyhr+NLQV9UQc3ZTbtLN84XMYzrRjFcWlwC3bmN6WjbkEEEUd9R0cbSars3gGY1g6GbGG/kYY39cvDfu5QKblD52zEvieXbkQG7dtLGNTAdzEzbfVllWSVnO9j+xPegB7p7vRSQRYIMbvKXBOG+4aOvqWx4lquHLiwPOLAcdmQI3rfKefgBOvQb64kSn1SHK1c2wVkgq3iC5KmwRSdCjIBIX1VoxmS7u1zm6z4AhTvos3VdIYDNxd0siAY42NYrMlRRl8fXR5pw6aJCGqSoHnQJBcHGI5ZvQ== 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 PA3PR04MB11180.eurprd04.prod.outlook.com (2603:10a6:102:4b2::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.25.21; Mon, 18 May 2026 03:03:12 +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; Mon, 18 May 2026 03:03:12 +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 v2 net 3/9] net: enetc: add ratelimiting to VF mailbox error messages Date: Mon, 18 May 2026 11:05:29 +0800 Message-Id: <20260518030535.1057228-4-wei.fang@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260518030535.1057228-1-wei.fang@nxp.com> References: <20260518030535.1057228-1-wei.fang@nxp.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI1PR02CA0037.apcprd02.prod.outlook.com (2603:1096:4:1f6::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_|PA3PR04MB11180:EE_ X-MS-Office365-Filtering-Correlation-Id: de0ee4fa-9c96-468d-5124-08deb489ff60 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|19092799006|52116014|366016|1800799024|38350700014|22082099003|56012099003|18002099003|11063799003|3023799003; X-Microsoft-Antispam-Message-Info: owjGmwC3ioe5w68cqHsVNH4fO/lV1IrG3bYLbDARB9scZY4i5KFikRxq5X8dX49qyW9GF/ETUDpYrcBCpLqCQHAvb1ys09goc8CQD8rJJs3RSqM1pVWv/40NWN9dc8ByKaxSE4oxSNcoZYcvtGY4cTvj6xvNSXNeBJV5IYLB555Fn8II+MP7xHE7jxfibKUQLS11gmSKok+zJboCNGRnRxUZvvpbd40qYfU1/PJQA36QE/5JyU6PejaahcXl6Z7B1QV/PBOz2ri3tG33qWlc1uDqsjEGy3lHo/mbHEYIdd4ZQqhZIx6VD8HXO6SkgjrfM8GSUCmzkPQmhOLu72SRPJpclqEBCdwdpkUDc34P2u49QIe8PJ3VcVYFJpgH5brQ/3cI0AeJpv5vA9QUGnPjaQNI+B5PZiEvevMnwN/SufHrIC+gFADfLbhqzZzdqLFWt5D4SUYmQYlTYpHZANlKIMDDxhd+jbFXSTdQ30u8kjqfYX0OkkbejKXjrN/9Ihmqs/5Q9jRZ0s7DR0oWb60aTjvpo+pi6P41a7TLCvNqBsu2QTB0BLjUAQLcD/VOjisXgAbLrandlP+IG8+PA6rlpV+yynTyYripsG0bplPQ/84wFRxXxxgl+sBuBD3ojDoIr+YDBjkDd9bPC0ysXmmrat9gCSatfhuHpX6dM+n4zRA/IJvlH77l2Xn5cQkqIhuT 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)(376014)(19092799006)(52116014)(366016)(1800799024)(38350700014)(22082099003)(56012099003)(18002099003)(11063799003)(3023799003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?FnsDczoet/9oLqQXAoeEW2jZyUuOjgOtvT3ybOdYsk64I0uRkfYFPOogq6VG?= =?us-ascii?Q?Z6PflwMUlDnjQerVm+GTA+POKQ83hSCpZMwXP1OmTt7A6tvXRVS7Ozxqhsb8?= =?us-ascii?Q?bCjDmbslGF43DQ1tRB7pOEd7ZHNFDeh5HuMbH7lzaLw3QOtqcz04DYmeNVMt?= =?us-ascii?Q?oXNf0pp6CylxJWbOB/pw+gl8QFkkSfR+bzJfHwhCaHwkg+oOM4M8nBsib2rs?= =?us-ascii?Q?zC2Y7uCSyEVYKufQcSGRUv6qveilpisf5ZWk9ZI4KN2N3qkeYhUcLmlM6dps?= =?us-ascii?Q?pszaB0qKO7a7Ilw1C9m8/AjowGsYDYYmM260WpaC3QROx8vDXZxXftLk9ZV8?= =?us-ascii?Q?0OYUWzhhHOT8q9IqIup+7KdX/0l8Mxukd1LspjLc9IGnnL3wK00kSM50ubpw?= =?us-ascii?Q?iyOmD6rPxtMcYNIAJUdt/v2tKBIjusInHi/MWTqGt4RN8BgLESL7MMH/g/og?= =?us-ascii?Q?O3cRnnithuq0enYp29oM4DLHuyFtrxV3tEwV+IHdKsMF73LjgdJcmINRE4Eb?= =?us-ascii?Q?SOe4MoE/Oyw3K4aIbi+4acsqrulP9g/Y3I5pnQARs16vjT1yF2aJ+WaWiySE?= =?us-ascii?Q?0Gf4qlsR4ik8E5SWpfQTCa5Gj7Lkcy0WI6v3BxewCIFz3RZNaSiKggXOH0GJ?= =?us-ascii?Q?p6dlcxP5MP3BxEJa28ifwIuK8uKwyfV2SMIej2m3PDuuNUiumTzW1WXm4DOe?= =?us-ascii?Q?yhmopg1CbaqmhWGKFkdmja9ch7C4FVErIB+1fHLOt9AEQY8vx5PYlOYwwFjG?= =?us-ascii?Q?6eLva0LP0b2ytYE7BDd5E3ciwItwfjzh7sKn+MtZKSB40DJgMjApe0To8JmF?= =?us-ascii?Q?nTEUWOfbsw+5IO+mZpvVCnqao8gijiPP0iOVFFBiJX6lrNv0kYQoefCzFFH4?= =?us-ascii?Q?s2gIEbdLTQl1Vy292/zk2fKRhg4VlkY5mObuBdONm0ToruE8COyMTzopa9t4?= =?us-ascii?Q?obnUAOti0ni6T8nzY537WoPpwreswqMTXr7ChH5y1Sx3Q4WBldAKfImW93Q/?= =?us-ascii?Q?qQ54rNE8axJv6ilGfo2PNWK/p2j3pQ9hU4WGFr+i06ar50wgGYAnQP5qVWqa?= =?us-ascii?Q?+mkqyf2bc62ZGGH//N3Zgvg8/q5I51ZSPv5HbvaeI4ijIv1iqxRreodGkmRG?= =?us-ascii?Q?FcynAkufsi46z+SVtDJNkki7GdVC2XE8ADR9KH6G0xEnAu88B3pJkWvVAgRT?= =?us-ascii?Q?6jfNICULzZPsZD49mNUS9yHHOiJ9YYZltPpmOV8rAaxrYLSqHnnu7lgAvPt9?= =?us-ascii?Q?K3Nr/npxiGq8DKxJEYfUx8fVTpJ59Huai2aGxwkxbbCsARnfu0bipBj7wTZa?= =?us-ascii?Q?v691ZRyG5m8vtykJCQkAXeKAaVqtD7+06Ip/agD5EMIBq26pmrPiyCfx8PKT?= =?us-ascii?Q?HB+TcMln+X3L7EqHXv8LT6stlKT1IW5JmPQguKW9WqQik1q52ga48q3khm1P?= =?us-ascii?Q?9KiVyf902PXaSflvuYPiHid2utAEld3eUCcQdyCTlArC/55w5o6sFaFJWMJX?= =?us-ascii?Q?CPcQfWp+q+kC709oJQrzuVB8UxXKlCV8gogmywjC3umhv578RVP0of5z56YD?= =?us-ascii?Q?/Debj1PNju7NJ/Sk2XnKwuuUOcL3r39bRuhTl0SaRuD9uFjfUdFvNdRMNY17?= =?us-ascii?Q?gyLgdWtxtfCqjQymZRsCod4J8X6j8GD0T7PJTEf8dQ1cDllCee56S++sGP3a?= =?us-ascii?Q?NjsFNZHmds/10BoYq3TMLpJ3wRi8VRHvYGd6dl0TfaStQwWU?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: de0ee4fa-9c96-468d-5124-08deb489ff60 X-MS-Exchange-CrossTenant-AuthSource: DBBPR04MB7500.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 May 2026 03:03:12.3941 (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: o8TNUepP+++LPjB+Op3q4zjqI2j3g1BuLEoK9+t9wfyTMCfQIq6syxaVKxJUc5xEecL+DHA6VzsFqIVBKYXYDQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA3PR04MB11180 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(), 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 b743b6d33ccc..dea3a92c4722 100644 --- a/drivers/net/ethernet/freescale/enetc/enetc_pf.c +++ b/drivers/net/ethernet/freescale/enetc/enetc_pf.c @@ -494,8 +494,9 @@ static u16 enetc_msg_pf_set_vf_primary_mac_addr(struct = enetc_pf *pf, =20 addr =3D cmd->mac.sa_data; 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_err_ratelimited(dev, + "VF%d attempted to override PF set MAC\n", + vf_id); return ENETC_MSG_CMD_STATUS_FAIL; } =20 @@ -520,8 +521,9 @@ void enetc_msg_handle_rxmsg(struct enetc_pf *pf, int vf= _id, u16 *status) break; default: *status =3D ENETC_MSG_CMD_STATUS_FAIL; - 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 From nobody Mon May 25 05:54:20 2026 Received: from AM0PR02CU008.outbound.protection.outlook.com (mail-westeuropeazon11013002.outbound.protection.outlook.com [52.101.72.2]) (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 2C63B37FF66; Mon, 18 May 2026 03:03:21 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.72.2 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779073405; cv=fail; b=bsHnQyX0DnSKDSHru6XjVRDd7p5TitUNjmS1SaaCxI0UL3k7fS+j0VtrUEe/YvqQRSgrdruVExZ8u8EYtwJgtM4viZ+GjdXKj+5M7ofgivfDVXLcfq9RFHOKlV9qcXxKGwrZbEdsfUZG940PW+joePBI2/NtsgM81tSTGMUSqpk= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779073405; c=relaxed/simple; bh=empFOoG0QSNeyhNcjXP/p18qDCAFJ3YDjMPDIStjXmc=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=TgxdT/Heg2HwZLKvv5iO08m7v38XELxiThFOPFK4G02KeZlCeitr51OLIfDZ23JCyWz08y42jDiXRK8I8OXwGuhlllS6iTZh/8Vb3cH6irCQlQ7moxz5TLM/DP2A239KmfrStugBfL0HTt03E/FqSBVT6vMT/Nnk3GAeEl3i4rA= 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=RN8XJVqX; arc=fail smtp.client-ip=52.101.72.2 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="RN8XJVqX" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=QwWYTjUpa3WJcMozQ9KaK1A5lSZ6nwj3vCjK6Tl0AXTf0T4xKvuXaBqzwK731Z6QW1aBHLDmYgB5Bp+uiT+mVw/Ba2WfHgaLL6HRtoPgBJF6EM6hFLS4xOxV21iNFmpdMLTx4VWYc+CykBhHZfTnnkr74n1uJEfh+3wwTJwUX7ss2ilJXDOOzqPY5PxVZi8lsyHQbeZPegKK65Po0x/n+5JKbxrZqZvsPeaKfpEsY0g3V32Pi0+f0ubLVezoH/TQnMfmyNA0bPacnN/70m4vPAuJQASMCqw10bvbNLTUsxCEFcP4Irrtxc4I0CtB2qNdXYWoFfaR2aRrlF5so5fKSw== 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=hpYheI9OJx/hBb8ZJyBzIYjONFdD9bocy3m8HBqvvnA=; b=cyp6wBUBL3/Uh36TiAjFiTBZ+QuuaoGpF41rXyCcK8X+2GS2gFEqgykIw9XutpFA7Q0hUspNZ7NmtcgIuMJ/0wxy02RQm5NPk8lNUhFNETHVPhF4BApzIIH6EyO4N1ASOgjt6CCSZZ1LFJSKvi4GD3r23DeMy2hlJ3QPYfxSyrfaylfyF6PzfSilWU6w6NQwBWaOQUbMUH4L6s+nADUTyuGxx8RU4LgV+B9I6OjMgmqo4wQl8o+pA5saSC4mZPqb2QWvO4/q4Kvh0QQOhTivZSsvqnUgTdcVXb86dl9uMFTCkpbVEbwtFtbwB6MHB/QYEEkgDk3S3wWR6qTWr74IcQ== 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=hpYheI9OJx/hBb8ZJyBzIYjONFdD9bocy3m8HBqvvnA=; b=RN8XJVqXXl+76et6ztL2D5V1oLuiOsAhtoIhWSCS/fGQEM5PYdGme36RQZ79Y462TUl5+g9N6V+oviJ6mRytk50b+68r9eSVG7aqRBijH+TZXXVP7QRdawjXzvqTjBdvaCQsvCrGr2/Rc8oU7CaVoKMRY87h4riOvK7tgdTga1I6R/1JV8gbg9+S6mZiePEiZRKpv7KVjCpMkNAmq/oAGEUgYH+ZwmLBzwTqD4Ibts4XsLtWsjL/VyYdnx2v9sPODz7AFQbkqtm5Lxt4OVHjwFto9igb0rHgvDvvk+h+lpplw7VQ2uoDGJbC+tOItrmefEuDKwCNNYrZGO2pnOM4xw== 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 PA3PR04MB11180.eurprd04.prod.outlook.com (2603:10a6:102:4b2::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.25.21; Mon, 18 May 2026 03:03:16 +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; Mon, 18 May 2026 03:03:16 +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 v2 net 4/9] net: enetc: fix TOCTOU race and validate VF MAC address Date: Mon, 18 May 2026 11:05:30 +0800 Message-Id: <20260518030535.1057228-5-wei.fang@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260518030535.1057228-1-wei.fang@nxp.com> References: <20260518030535.1057228-1-wei.fang@nxp.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI1PR02CA0037.apcprd02.prod.outlook.com (2603:1096:4:1f6::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_|PA3PR04MB11180:EE_ X-MS-Office365-Filtering-Correlation-Id: 41ded3d1-9a39-4519-8507-08deb48a01b9 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|19092799006|52116014|366016|1800799024|38350700014|22082099003|56012099003|18002099003|11063799003|3023799003; X-Microsoft-Antispam-Message-Info: sz3WCA7TgtsSkUJDT2MxzbRyZBMgt73kfuZYC+uJSsGN5NdsC88awKREBYnv2P5Ayzm1GqTgonba5s+iBR3vrXfR3bmy/lddOK5uc+wQ7ewaPuvT7njCrcVC5116IEUCSk4MNDgDKYbApYtCZi/Hw8EV0LD/avBEMPt0odXbF1DzrfdihXqguw6PJPLI1nwdC6/7ChGwtCj3TK2zPZLKjwlwu63CqkqaZJtvd82gKJcG23u/VY7nw8ucmC+brKNavKTnw8t4jL9LikoqXtXI9BzmoDquEgflDzIkm/eAeDChHWxqoDFGMobjaZ7U9Cd4mURcRlIMZRqsMG0emZCkGjYNu9e1tWqLKZDx/9W++rhcsa3eWq23ZybS+HeUWTmIfwNCuDfqcPeJnvW8xejrE8Il7At/6TB8lQH6dYCCpHKVnntATgRuo55vq6Md7iAYu22q12ZGMT7Enj2CElwYI1IgemZVMjK+/C1I375FLJosv1Sx7LzV2jT6s7Kvwax7gDuk1EB2Aj3znv4e3dpr9tcsz82cwPQX7bGcSHPV8DpHYAu6EUrSRZbhSPNW/2ltcYIWBEQId/0zkhoHKx+MTOlyx0Trt+bTiUh9RkPwd+vyfZ+OTUDUaXjP+XMQpovJjgSXiTquoafX+t3KV16It8zvtbtGWmpTGnrsfHnsb1fbnWDxjMLDsu1pTLnkxHVF 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)(376014)(19092799006)(52116014)(366016)(1800799024)(38350700014)(22082099003)(56012099003)(18002099003)(11063799003)(3023799003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?LmRf75fGeLIPN10ObaJDv/dzKm1YJN744D6s5MlHT4gRZsmsxFxI6GbtHIBZ?= =?us-ascii?Q?QDkAQ/zKykDc3j9icTiE//5O2GdVJmMYVZre82FA3BuhHi4LyMPm7w/4QKAp?= =?us-ascii?Q?8oc4QqoMIHUN3+V+HZzs1I7NH6zrq5FxVNRi3qq1hSDIPccZ4d8oIzUmeoL9?= =?us-ascii?Q?wTWsDaLYH1GHaJgZljDgIqvCYAXH2icvtO0qJMr0bEju7I+ge4fUrNtI39rD?= =?us-ascii?Q?lONidvvzmUogzw3vrEAUibSX4mWke9bYyLEGf74F9ma7zsGP+otl3QmSM7+l?= =?us-ascii?Q?fACLAP9RNTvIzNEjLkSAXZXOYPoZwPsqJPVDLVO2TvzKoAjIB3HjVl05fXiK?= =?us-ascii?Q?NM/zpPnV/6VJjEcsjGSEL7Coic4NJecMIHcb8Z+wrK7Da7f0WXuJ2lU9YO4D?= =?us-ascii?Q?46IKgRKr7HwxP5wdBXb+Qho0F9hSI64N+hByOvUrFmtSrJOiWJK3sC5ehbGX?= =?us-ascii?Q?GOm6FDlgsWw8Kpbvjuz0y/kPeb6pxhS7jprxUD0f2zMlqx6Tk2mRK0Ma8Nes?= =?us-ascii?Q?jRILVojWjM8L7RnjN0x3+n6KwZN6VE+LYaxkq2D80M3KgGUIWOM9u1Y3lnS1?= =?us-ascii?Q?jc419ih5AhbvNoj+FuVcmtkIv8JZybGpGf1Px/bP8n5e4cs2OfSYuquD1GB4?= =?us-ascii?Q?qp+ctTu88Om6IqnGleCSatpNxDt9XUzI0aTJVExGActUTUN5rohDE7u9OTUD?= =?us-ascii?Q?RJFc0zUcEisaLPegEYq875RrvoV157thbQLbD2Q8FyaU8nOaNpyIsXLvrUeZ?= =?us-ascii?Q?JeMJgNIonwyaXgDFlv68tPTsxQocpHeIhN+W2b+WaZDjsYBOD5l3nMRnEEv1?= =?us-ascii?Q?ZHek5RnSdrwTMVblDLmu2g/Pjb/UIm2YntXe9IfYM6iDG9xlKVdAo+lSQh8I?= =?us-ascii?Q?5Mkq+9vUrXJzlE+H/qfafc7Xa0OFjAS70PW3zHlOW+zuvYjmR/MTY7WpDG1t?= =?us-ascii?Q?hlysqGJ9C7AQDcV+ReLLelBAtcrqFKBsK9WbX2V8/s7dlAPrESDFAp5KrJR6?= =?us-ascii?Q?i7JKos/Q+gqF5EXY1AbebnjdU3QuxF32R1CLIiwnb+ruPvzd1Dfay83Z0crg?= =?us-ascii?Q?4f2RmGym+2PlHKD1C9oEZAyo6QBm50l5z9JU9HrV0hD+Kq1Ji1Yb9Qi2iJlD?= =?us-ascii?Q?YbuvdN55Vry4qYY9HNsn7q9Ih7yPFvqunM4ZeApzD3TU254777Pbz+B+I35F?= =?us-ascii?Q?HJlj/xq1PvNeQ7NK2NbPGqXibDAvfZDbsw3+zKXrL+7MNnrk4pzkpuosKw6n?= =?us-ascii?Q?hyKMM49pl+G9GHO0Nd+SKijRNugRm07I+o+tbXym8cydtKJcmFaj6hyjLaiD?= =?us-ascii?Q?vbw8Oina2I6c8AKeURNC8Nv655rJX7gcRgKEH+FBvJgu2AbbKl+qKL5Iho1r?= =?us-ascii?Q?3aWR9DPcqhYz9JIktjCFjAsN5Uzls/tEf13+eqCfbOBLGaVLv1gCbmqDU1VC?= =?us-ascii?Q?XaPK+UAUA5NauAKwOUFkQ/2+72NyLykGSpanysAxVyOTwqkcUDiQ7AuWsLNJ?= =?us-ascii?Q?mx0oSxEc3Raj3GQ0+NUlyFjt2+K3x7FItnoFiNkWjK/NCmXZFpozUn0cX1Yc?= =?us-ascii?Q?VZrIAevLCmNLgtXqdNttkB6e9qS53x4WEubNj+9GAEcrRJLy0QDZMVOBOGrY?= =?us-ascii?Q?yMpJAp4T9ZNNutUQH403XV7UkWNzllJParGtIX9QkXoytG6xVmztRAkRyBD7?= =?us-ascii?Q?TI+MG7YPkBaH4O/B6uxKZ2MrVzimsMyP2Pfy6OVrwuHamqOE?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 41ded3d1-9a39-4519-8507-08deb48a01b9 X-MS-Exchange-CrossTenant-AuthSource: DBBPR04MB7500.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 May 2026 03:03:16.2362 (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: DGAbUvyDuIvLwTRBaxngwCouAjGilR8tiIAoHeTt1IxhT85Jlo5jggkLOCR36njj/M/7d/S402K76Aw1p18V3Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA3PR04MB11180 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, a validation to check the MAC address provided by VF is required. However, simply checking the MAC address is not enough, because it also has the potential TOCTOU race [2]: The code reads the MAC address from the DMA buffer to validate it via is_valid_ether_addr(), if validation passes, reads the same DMA buffer a second time when calling enetc_pf_set_primary_mac_addr() to program the hardware. A malicious VF can exploit this window by overwriting the MAC address in the DMA buffer between the validation check and the hardware programming, bypassing the validation entirely. Therefore, allocate a local buffer in enetc_msg_handle_rxmsg() and copy the message content from the DMA buffer via memcpy() before processing. This ensures the PF operates on a stable snapshot that the VF cannot modify. Link: https://sashiko.dev/#/patchset/20260511080805.2052495-1-wei.fang%40nx= p.com #1 Link: https://sashiko.dev/#/patchset/20260513103021.2190593-1-wei.fang%40nx= p.com #2 Fixes: beb74ac878c8 ("enetc: Add vf to pf messaging support") Signed-off-by: Wei Fang Reviewed-by: Harshitha Ramamurthy --- .../net/ethernet/freescale/enetc/enetc_pf.c | 39 ++++++++++++++----- 1 file changed, 30 insertions(+), 9 deletions(-) diff --git a/drivers/net/ethernet/freescale/enetc/enetc_pf.c b/drivers/net/= ethernet/freescale/enetc/enetc_pf.c index dea3a92c4722..09c642040892 100644 --- a/drivers/net/ethernet/freescale/enetc/enetc_pf.c +++ b/drivers/net/ethernet/freescale/enetc/enetc_pf.c @@ -478,21 +478,24 @@ static void enetc_configure_port(struct enetc_pf *pf) =20 /* Messaging */ static u16 enetc_msg_pf_set_vf_primary_mac_addr(struct enetc_pf *pf, - int vf_id) + int vf_id, void *msg) { struct enetc_vf_state *vf_state =3D &pf->vf_state[vf_id]; - struct enetc_msg_swbd *msg =3D &pf->rxmsg[vf_id]; - struct enetc_msg_cmd_set_primary_mac *cmd; + struct enetc_msg_cmd_set_primary_mac *cmd =3D msg; struct device *dev =3D &pf->si->pdev->dev; - u16 cmd_id; + u16 cmd_id =3D cmd->header.id; char *addr; =20 - cmd =3D (struct enetc_msg_cmd_set_primary_mac *)msg->vaddr; - cmd_id =3D cmd->header.id; if (cmd_id !=3D ENETC_MSG_CMD_MNG_ADD) return ENETC_MSG_CMD_STATUS_FAIL; =20 addr =3D cmd->mac.sa_data; + if (!is_valid_ether_addr(addr)) { + dev_err_ratelimited(dev, "VF%d attempted to set invalid MAC\n", + vf_id); + return ENETC_MSG_CMD_STATUS_FAIL; + } + if (vf_state->flags & ENETC_VF_FLAG_PF_SET_MAC) { dev_err_ratelimited(dev, "VF%d attempted to override PF set MAC\n", @@ -507,17 +510,33 @@ static u16 enetc_msg_pf_set_vf_primary_mac_addr(struc= t enetc_pf *pf, =20 void enetc_msg_handle_rxmsg(struct enetc_pf *pf, int vf_id, u16 *status) { - struct enetc_msg_swbd *msg =3D &pf->rxmsg[vf_id]; + struct enetc_msg_swbd *msg_swbd =3D &pf->rxmsg[vf_id]; struct device *dev =3D &pf->si->pdev->dev; struct enetc_msg_cmd_header *cmd_hdr; u16 cmd_type; + u8 *msg; =20 - cmd_hdr =3D (struct enetc_msg_cmd_header *)msg->vaddr; + msg =3D kzalloc_objs(*msg, msg_swbd->size); + if (!msg) { + dev_err_ratelimited(dev, + "Failed to allocate message buffer\n"); + *status =3D ENETC_MSG_CMD_STATUS_FAIL; + return; + } + + /* Currently, only ENETC_MSG_CMD_MNG_MAC command is supported, so + * only sizeof(struct enetc_msg_cmd_set_primary_mac) bytes need to + * be copied. This data already includes the cmd_type field, so it + * can correctly return an error code. + */ + memcpy(msg, msg_swbd->vaddr, + sizeof(struct enetc_msg_cmd_set_primary_mac)); + cmd_hdr =3D (struct enetc_msg_cmd_header *)msg; cmd_type =3D cmd_hdr->type; =20 switch (cmd_type) { case ENETC_MSG_CMD_MNG_MAC: - *status =3D enetc_msg_pf_set_vf_primary_mac_addr(pf, vf_id); + *status =3D enetc_msg_pf_set_vf_primary_mac_addr(pf, vf_id, msg); break; default: *status =3D ENETC_MSG_CMD_STATUS_FAIL; @@ -525,6 +544,8 @@ void enetc_msg_handle_rxmsg(struct enetc_pf *pf, int vf= _id, u16 *status) "command not supported (cmd_type: 0x%x)\n", cmd_type); } + + kfree(msg); } =20 #ifdef CONFIG_PCI_IOV --=20 2.34.1 From nobody Mon May 25 05:54:20 2026 Received: from GVXPR05CU001.outbound.protection.outlook.com (mail-swedencentralazon11013042.outbound.protection.outlook.com [52.101.83.42]) (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 4637A380FE0; Mon, 18 May 2026 03:03:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.83.42 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779073413; cv=fail; b=jq8JaKFuwBNlVYtUEZ1vqXtEL9jDpYdEGQn4MRUWfd9j1ntnuJ4PbUT64fd+Dmq9HMljpMCmG2WBc80THl1ZTQCe10m3BOTnBFe/fYRB7//Y7Bpp+SsDpPXLwhLQRqc/qRaSsKts8cThGqn242KKxxLnGWPQepkPsrzK7mxU7ac= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779073413; c=relaxed/simple; bh=gm65hv6LY8sXWejYz5epL6QZeFl+rH/dvNLjACXYtTY=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=k9S9WexEYFxyRlHQ3pSigbzQtdRcgyrVnEuXVz9p1Q9Xz/I86zQJkDkbMP9xN1pUV2Pje8FGzY4ltR9tacfVid6LyY929zq2Ovlr0lp02r20o8qD4RaHnRzodMwy8LnwLhT3n0dnT29WxSxtLm2uwrtEHgJC3MpUyzDqEHDOxjU= 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=AQ6/WHjH; arc=fail smtp.client-ip=52.101.83.42 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="AQ6/WHjH" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=F5DJkeq8vfho/iD12Ylfqo7kDJ8C7OGQ+HoznXlZO3EYuMEJ5tD6EXh4sQKQDiHkmcZHQvgiaK639jeMb7WkpkeIkbIoP167lPClg5ctW4F7r71mYC8PJU59hXtv2SIWHk1oSJ1f1Cl8Obj6rlOXU/mPanlongFJpn5P4AM8Woyqoo9feZF6pJCqpIHy44KtYaRndxSIhEZSbhoQ3ZoeKp/KUXt2sMLuKeGwKjtf9bGejXm8M3pDhCvRSgVmY1SY/zuKF1EsAVNNESPUflNSWpXeIJiQ/NGia0V6/1hQrxDtpg405pqkTXzbkN0M9cqo/Qmx/DIzwhe9TOFymMJqBg== 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=yTvL4vozdMGCyRRMZoHSC4MHvyNqN4T3ZkhJrcFToTs=; b=RGXgypVZ+9pIydACT3QHQ8a6GY6gQ8yXKGv6RaeA9yhZ0f6H781Xm7RobKR70vzNg6REDyWy9ZsJHAonlH16Bc5jgYKZ/HGTEPwepZfPRsXk32COm4POgMugrA89aXQjTrL8U5mK+besCqK/PKSN/vonDwypGxVE2izx1/AzzxumhUAWp4ZrWRhIf2K0znk05/rk+9kMhYzgtCo/wLPI+UaYdAEA1ejGfcukgoLKCpPURo0X+hP9kWcJXdCcAPnqBNDy8dT3cntZH+wmVpCun6RqIcA0oIlotqZuT0WCvb4T68cPD38H7FSnbancGIsvACvie1VHqnLMdjJkYraM2g== 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=yTvL4vozdMGCyRRMZoHSC4MHvyNqN4T3ZkhJrcFToTs=; b=AQ6/WHjH81ebN/7RVgKiQ9OJ+4Y1jnvKsAoZ1awG0UpOpQRrmwUHr2mo/mN/FKauXRlbGCnAIySGVYUgoJCaaKK82LgjgDoKGHoNNp1LuEswFSRbrVa8vQPrM48N4kWAPJ+c5mLdFk88vBtF1LMff9H+iLr0UkEoEmWjJqKcn9iMyAC69aun+nZzt72hnaRw1kGdoacUBhLQuUDwJdidc/HaGSPOookZi2WBHldvtkHPd6dXLMbCealINVAdk5uCXTbOwvuws6Aay5tVOzpk2jOXOhzRZdyrrNp8/ix51cvgEWSQGG+5I0lSbh21fFV63l2uZMFeHqzny4kxSaC7mw== 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 PA3PR04MB11180.eurprd04.prod.outlook.com (2603:10a6:102:4b2::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.25.21; Mon, 18 May 2026 03:03:20 +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; Mon, 18 May 2026 03:03:20 +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 v2 net 5/9] net: enetc: fix race condition in VF MAC address configuration Date: Mon, 18 May 2026 11:05:31 +0800 Message-Id: <20260518030535.1057228-6-wei.fang@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260518030535.1057228-1-wei.fang@nxp.com> References: <20260518030535.1057228-1-wei.fang@nxp.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI1PR02CA0037.apcprd02.prod.outlook.com (2603:1096:4:1f6::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_|PA3PR04MB11180:EE_ X-MS-Office365-Filtering-Correlation-Id: 63ffa828-64ea-415b-9c8f-08deb48a03f8 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|19092799006|52116014|366016|1800799024|38350700014|22082099003|56012099003|18002099003|11063799003|3023799003; X-Microsoft-Antispam-Message-Info: 9HwSJe3IqagAQmxVogiwt3zhJ9WgQOoDcgyRoVCFbKe3lPdd7fQUmqba53KGlrjT67VtK2Qy1ppDb9XMwwxFokEeP1icx8iDpL9En1NXXWwKBSr1Ur8tZU0aHjaIaC/8nRrty4fnPF+cJN3CBZJvUN5K3KaJj7RhvVWxYDRPHtuUhCz6ljeZEuRKBASI2dNqzHwvF0uxbLmspCjDnU9Ev7lhyBt2/1CEo2Eyp1kCrFU3GqgklczsuUDmuz45HOWQRwldveePb9Ox9/JsOOsq82UTpJvn3aO+cWwOfcT29haWCnlPD0fGa/kxFZwYFSkhSG5asap1+mtrPIKGBOHzhIlcbW2OhlTKSGBFboTIcKOeptl57C3KW86ENl8/Ww0gEx9qwEIEXeFDG50kcrzX4WxX1N9axnVDzlS4ETrW87Caobv05ie6JLeqXffBFPGLrH0OXZaDosuhCj2Ybdi0n5ltXguODG47C7RL1Q5snmwJBLE2A/rAOQPKzM/iZQm6OrZ65Hml1mh6UaEsFwLtDJKKemT8c5EOpSAqFdDVuXBQ66bYVZloQXTpb2/WFmGVpcooweUqS+oJL3s8bNkPl1qOQWkJIq2tnHHTkayLXfFNgZw+dAfwpH3gOIgqA1rUcZSzCfTrduopSjtyHG4WQhtPOwRuri/A2fve6v3a0+J2r1Pgcx2ZfNhH/6+VTTCG 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)(376014)(19092799006)(52116014)(366016)(1800799024)(38350700014)(22082099003)(56012099003)(18002099003)(11063799003)(3023799003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?fFcosxOjXbz9hU8nK2POYFioCLifo+2XTNVfxgZIAe2dRM6o1qfGDPBankCI?= =?us-ascii?Q?aYy3DPZi6oDjN5YvvV8QPPmL4aXXPfyv5O2iAUcylDYOsVlfKH9baS5jbH+Z?= =?us-ascii?Q?YATSnTS+XuPs3sFi5jnsRv8wZIErscbSC4mR9eSVaBSrulS3trDyRhnTFdU7?= =?us-ascii?Q?Wo+FQ+AqOAsLm+fGX8p2H/21SNTrOisZSWTIM2SsObL6+Lf23rgvw4THPy4p?= =?us-ascii?Q?pytS86CPQj0CtLZR6bKmXHui6bVEi1M4qLC7jORXsSJmCwrhqmKZy1rd1XQJ?= =?us-ascii?Q?FdIQ5WO4nfXEZzcbt+wnYo8q+e4AvdFbB03LICrOdVEzk1oug+pD0jJKWetP?= =?us-ascii?Q?//mOtDvcQ/o8+Te1sHGU6T6FR547MTbOpezi2pTaIGEBXKbYbtI/TDaFLgsC?= =?us-ascii?Q?CZVTzTCH80fTKqlId0IpqoKOHVYr90+L0nV13P2MiiWLeTV/4jOga/MivtR1?= =?us-ascii?Q?A3r2Bc0IjaeGDFb7eVbrJDhoZ5PX80PkJ3dJelXyMqoUtLNk6w+sAn8mLuR5?= =?us-ascii?Q?H4MFYao4kYZbRFEEPuXuaquL8P09kQ6OWkn6M23fPztbC598qWDRQmSIpLDy?= =?us-ascii?Q?anYlqhamve0tF16VcdvVyDewRG7stFccp9Gpqmtad5oZglzEG6/4F/7XFir6?= =?us-ascii?Q?y6K3AbluibKMQdn7gKsDOgHyHqpbq2dJMWl4q87RZMFn/zt/x7st/kkDUIny?= =?us-ascii?Q?LdZSvhTv+X9G3EAfa/TUgrFnqrCX9/nyRJhJUBTf0L96asqAOqzc1KIvDcn+?= =?us-ascii?Q?rJS3H94BreIcICgEa6B3vhnh7650iAFJTPZDADEqk8pXi9M7s0xRIuSYjz1G?= =?us-ascii?Q?zBrb1prWoEFDyZnjAc5DOxaHslp3DkJNkcftebStWTb3bSx5aV9R9qEIyGiY?= =?us-ascii?Q?DaEdg0nuHlKyijprmldLbL6J+IXcUCJ83Hahpj/KLhY9vNaINK10/e6o/93b?= =?us-ascii?Q?1sRCeQa16wDHtJbzHwwZPxLjUSvlUc/9wZWZu12+zdqjuoxIi6PjxkJv42XG?= =?us-ascii?Q?a4LcrBEorLyD8YpTJnYOT28nW6YQt8yjxswVGpMuRZSfTNcpm3nrUdZqhDnV?= =?us-ascii?Q?opi4fKHPJDDg/98d/JFYuwMDvMGBlcp5tHRtNfEomGNQ4tqFEMWo8Yjdi73B?= =?us-ascii?Q?YRkT8gvntWURpAqzaIGy1pD9ovBrQ15SSw4RvC+vdqXDfbX1bPqIXJ22lqcN?= =?us-ascii?Q?USyGPvoDA7IQ8BS3EJNMh6WiOOG0JBBeR78sVYWPGuvbdkLpoMlydsH4ksp9?= =?us-ascii?Q?nKUauItcQ5j8kTqhSZERMg8HwifxPgaItiDqOgTbgrZDQLtLtLHxi/mpTGVx?= =?us-ascii?Q?lF30x2RW5UNzRsGDDOKR6v1n/jsUuyyz3o3AsgYqI1jR9RtyF0JLI7uF2E3M?= =?us-ascii?Q?mJd+OHOyC2aHu7u2LYFghe2+lczWh0IHcUZ1vM7eApNyLpwW3LBxTrLnG+02?= =?us-ascii?Q?aobc+uTzSyVJTjW35im4mkpBIxYiCqXurEeqz6ECqc9GPgdBEQUYVJA+Kqzh?= =?us-ascii?Q?OnqU0c6+Te9izXbshRUoF/78u6M5xn0tpGjYGhcuP89+4LgOoacJgPrH3SLs?= =?us-ascii?Q?oI0CjL+2U8OevuQYfQ1JoLogVbdjvkAoc8jVcRVLeIlE5cZTQAWpGqqsKUyN?= =?us-ascii?Q?Tlx09P3GRo1gbkyrqdXeFYXv8jj/M8WfbQMMVT+LpdC4ZoTsoXVMGCCfVklV?= =?us-ascii?Q?PL2EAxwxvjigfOQeTUwlw4YgZg39C5poAQfN7E8LRSiQHxVc?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 63ffa828-64ea-415b-9c8f-08deb48a03f8 X-MS-Exchange-CrossTenant-AuthSource: DBBPR04MB7500.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 May 2026 03:03:20.6193 (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: bW2ctmtlVNfbfo8tKG+iRHcGjXn/A+bYa2LCukg1p0Ze2L2l8OE9AEciRZMf+lx9qAM0zMPGAH5Jw6X9EGWoYQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA3PR04MB11180 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 09c642040892..8e11a023d516 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 @@ -496,7 +500,9 @@ static u16 enetc_msg_pf_set_vf_primary_mac_addr(struct = 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) { + mutex_unlock(&vf_state->lock); dev_err_ratelimited(dev, "VF%d attempted to override PF set MAC\n", vf_id); @@ -504,6 +510,7 @@ static u16 enetc_msg_pf_set_vf_primary_mac_addr(struct = enetc_pf *pf, } =20 enetc_pf_set_primary_mac_addr(&pf->si->hw, vf_id + 1, addr); + mutex_unlock(&vf_state->lock); =20 return ENETC_MSG_CMD_STATUS_OK; } @@ -989,6 +996,9 @@ static int enetc_pf_probe(struct pci_dev *pdev, err =3D -ENOMEM; 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 Mon May 25 05:54:20 2026 Received: from GVXPR05CU001.outbound.protection.outlook.com (mail-swedencentralazon11013042.outbound.protection.outlook.com [52.101.83.42]) (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 473BB380FDA; Mon, 18 May 2026 03:03:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.83.42 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779073417; cv=fail; b=vFZVrAeVjEPdIJZzLer2lqCDPgbz4vZiHl5AKw5rIq3ep0gztABb38kMlQ3HCbgcIZfwniRXobTLO56braeFN0uN1jgkSG5gCBXuSFYUhgh2Eq0+/T64aGgfPaqLS39A862AyrD7v7UoDbQamg4yWg8u7S/U1Z7mrSxfa4zrJqk= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779073417; c=relaxed/simple; bh=WE6iJafBiusR3LY99chhahS9ko0WQ5gRi+95vboOm7M=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=LL8JTgxRCVHdYDFHPl8diPLlSDEViOCiDMAoBiYke+nwOZdsCOf+usOkcptPK2UREnugvVGFUEb/odHI9yLmB9dSis9+kCewNIDBgF0suQ9OH8P6jYG/7qrSzXuOlQmn+KgLtvnEI87hIQ6sjBdorfZsHs22GX6acbhteNzcO1k= 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=BSXl7C10; arc=fail smtp.client-ip=52.101.83.42 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="BSXl7C10" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ACsYhEoB3xqh+ALsz83tMc84/Q/fAYEz9tpXaUpbY4wKYFSm4b4VmtjksVyWQY1VDSZOhbB6ldIX4OFjxPJ+qyO2s150BzcPAXqfvsLOhMtWU/sfECIboHQcqvbUDeXpimDznOWjqTLaUSC+NPfRs3CiE3XejbGHe+pyIxFIz6zcQBppCNLndjj/7gngK+9anDM717+n7aeO9RvOuaadZ5e7bwe6MBZHxIx19Gyzv+IloHzLhgGlVHvrqMoWJLFc4bqKx3YKQwJQQa9VO3ivT7QadzL6lCP2D2LnQrF2CkmuaL3mf59mnWyPY1X5a2ZvTvZs0YtvRNnoi/Pq/jEH3w== 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=DB4nGfWo/Zb50+RwNjO0dDJAaf7y3yEWbphL3fzw4JE=; b=vOsTLlN1uCrkoLbthQ5AWO1xWfJ2q+/s1RfebArY2JB4/BVokW3MCvbab+9bye1EunvWC6eA4HbPTDTXz9vIiWJ15LOGTOrq6SbfXERdrHRdgI47UvKEZ84LbBhIKc6tLDHjibHc/g92p7Arg6BAKfbHTqs3zFnOQvH9vkniz3NwiYNZAyz7qCxT60QASNKa4xsQqL7K4mh4/Dh9TdWmmn5QWZTzAi4K/UNk31SaJF8RSeIigodMMNixXgzgoYng9OPD4g9AJftuGu7iV4yLoo38bR49Fgd7oy0K7chs8TbCeO4PLE2LXz0RCltumU9VL3kDwplNXInSaTswErKh8w== 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=DB4nGfWo/Zb50+RwNjO0dDJAaf7y3yEWbphL3fzw4JE=; b=BSXl7C10vd1QZxR3YohCJTpCno6leXLog9wsK7KxVaejD/6wNXatXZPUom+gMw0QDfc18C+yygpcSznp6yxVZBtCYgYtZr8RNRco5+bW+uTMVq5xWLex7lAMH6Kph9Bms5KYu3oNuLNjRHQ5PKDRqGRgeKp9ORxW7izEwnDyqBKpXzSZJgVhnAF/nJdrZELFFxDAHknWcM/iV990xWWWWqO28Z1+tE01tqx034yPcvkNGA5dTwrxH6OEWrpjNkJwP/W25/4/x2KCjYCzLtWVt8A3OpfmP7UHhQHeYgj+fgcfnFNMC5Qsx5QgUBdd+6GiJl5dm98yRoX10aBBtI47Dg== 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 PA3PR04MB11180.eurprd04.prod.outlook.com (2603:10a6:102:4b2::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.25.21; Mon, 18 May 2026 03:03:24 +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; Mon, 18 May 2026 03:03:24 +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 v2 net 6/9] net: enetc: fix DMA write to freed memory in enetc_msg_free_mbx() Date: Mon, 18 May 2026 11:05:32 +0800 Message-Id: <20260518030535.1057228-7-wei.fang@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260518030535.1057228-1-wei.fang@nxp.com> References: <20260518030535.1057228-1-wei.fang@nxp.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI1PR02CA0037.apcprd02.prod.outlook.com (2603:1096:4:1f6::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_|PA3PR04MB11180:EE_ X-MS-Office365-Filtering-Correlation-Id: c6162507-ee88-4ed2-539a-08deb48a06c7 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|19092799006|52116014|366016|1800799024|38350700014|22082099003|56012099003|18002099003|11063799003; X-Microsoft-Antispam-Message-Info: 6mJy9CI2unz8jnnUL91L9Wu9BLGh/1h6ASKYJUp+jY7E2X//pJEtRWRxX8F848GvB44rVXl7zbfM5bxIWTe6HLvgRj65UZ9dF/SgLYyXiycoklSCFT28f9iWouqa9IgsfAwoC2bX+W+07MnhBrbG/4V9y9YVgZbJ2RQtAPm8h8HqITgSyCjdgwumkyT9fKwOhMi4mZOvx7ZnFN3KdypwXKLciwkJcJHBk3bM6ZN/77UqGMYqjRoAZK9ivkinbvlD9wYFhuzMkJ0YB4nrcWFHzT7mjbYvLHGPK7XwQm0C3s0V5E+DZ/G/2WwiMlYfaB6ERTdf9GujcYW5w5ToIjuVSN8dMN6pCLcKxYP4y0F8w2J3GpLdWeTAU7ox8nqRDbLyy5okHawZYbdr/Ui2uvy+Q5Lcm1eMW8ckdVfc6Ovp+aSuJcW5oeBHr3Uhlc8Ady3lIoItNFwas9oa2e7UOFeS7P1t/IzL3kgQmeQil5sBRgt5Ev85PGKQuSYFAWh6rwgiT5EUISC0X1xGvLpxkjeLjrPhoXh0FWf0/61BaWUs7JGqz5JPh5E5sjlbcDjOmQpWndjCdVhzeCrrA+pmTMVgmgzYSEunAFo1c5OOzXWPBtS3bTLRPevPcK0MM/vvpKvomi61nhkNu4APgpysnDMTbD1DSmBZntZ0WkKNYb3W9Kby6AvOmepyoA6c8RO6CeForrE8UCfCiBPPQcMThKY2SQZRJnxGkoai0iz1BBanh3zcOo2XcEAEkczjP54kK43+ 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)(376014)(19092799006)(52116014)(366016)(1800799024)(38350700014)(22082099003)(56012099003)(18002099003)(11063799003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?B7LjjWgxwizyRMirOHu6djmHxmUj6fpCYEhZQRlGklzjmS07he1jnvVaLEDA?= =?us-ascii?Q?NUdtKrv+AnzdBSRZP1EbZGnCE2mtRCwQ+PSYyfwFybDRpvVPshSzNpmx1Qww?= =?us-ascii?Q?pfzI3A6eOfXT0Wq9mTjpdWBxEq6pn4X7Q1P/eBLjCcIVZzVL6jhaaYf3gKJy?= =?us-ascii?Q?CwKWpn+9HN9jxotH1Xf/SPj4khacfVQkhF+k0DkUtEY3b6+nciOgDeZX5+wo?= =?us-ascii?Q?oKiNzDa6T/mIV9TFl7E8hIzVXeB9TFMa4fTeQKzn79Sv6rTJAyUc91pRmH2d?= =?us-ascii?Q?M8YFQRPXiEzjoCiVjLm8ZnSSLbf6nNwW+VjKlX6H6Jljw3TNRnxSzglvQP7b?= =?us-ascii?Q?M/YPPNGmYcxrAdRJ6/bpKd1hkjB4Ogz6eW+kl7sgsvS0Nem9psu8cPN5PDf+?= =?us-ascii?Q?IbfnqA0arJ1fm8cra4R1Cw9TznE8au6pRVf/u0CvbyjfJx7tryy+2v+bEvN5?= =?us-ascii?Q?4BXwst34Ve748r2uZLzZ6WaJmtYXMNYVOMoaEBAL3NB5OYcTclO03l69wxYS?= =?us-ascii?Q?UUzXJh5zfyTpP2eYsuqDDvHuE+2v+TT31EFnC5Sd4eetUQ2f0lX6YW0eCGvU?= =?us-ascii?Q?77MuVK/o4GGVIjLTrtWra2pcvQ4Po7AJlJZdjUiD1Hl+wWQ5sABLxOa6GULN?= =?us-ascii?Q?iItbjQ46wrPf2Jj1IExnToK2n7DhWsDTztBpZe6I/dqD8ErabH/nVyCRjaX1?= =?us-ascii?Q?c/zsG8kZa4gYovdGpxyQ7QJ4LoLagBHepHEfDSKC2RA2JMJSsTLwmawWHHZ6?= =?us-ascii?Q?/snAXZ9vp7ndkZjwWf1xHK0Dh30TQAkbrQvqiE9x/moOQEMON+5lksjFR5jD?= =?us-ascii?Q?fkJuRRAbAc3o/d1j5wALZ65nR3sTBOgz906XtK6BA5p1Mcqo6OELkD3IdktZ?= =?us-ascii?Q?Oi4vJGRMWb8djyQWscYuBdFSJ9+c/KLL6dC9acuDzYyBr6nZGpx3NApCJvvM?= =?us-ascii?Q?8zbOXMfiqmPkjY13tAhLAYvZrMPK/Uon9sko9J34ITyyXdeEGywvIj/lDwt0?= =?us-ascii?Q?FRSpXXbdDAZCrneEXikRgc1Wa0qaU+BN78dQwF9RWBpG+iz7G+Y6FR/0tbkD?= =?us-ascii?Q?hJnNYsZorRHpROMi+mqKjlnQ8NHfjRHotgvZR7Xz4DNElI8DZqAMXEgpGdql?= =?us-ascii?Q?EYNyIMNCZcKX+p+L6wcczjABQRzx6vq+qwcJ/RhJpj8dTaKC+r7Xj2+JrRoM?= =?us-ascii?Q?0NszEs57pfxd7xL3PXJe5oAKDQYR63odJ/bSVyIrd45UMbzl4tqDKeS7SrhP?= =?us-ascii?Q?cU3XpXc4jsy8hdlCwQ3rQTKJhLSPkuhNHcI4mwEel7hNf1RcDx9MoRelWCrw?= =?us-ascii?Q?UvuWBng8YllxnEgOJmTwIB8KTUT+O6S+1gTNtQLkqjNUcghMxS1HPZI/fOUO?= =?us-ascii?Q?mjb/qsDOvkhNbNLcfGrKpkKMEboL8WMVcrCtA3Mf/7Zq2DCENgjjZp6QA8O/?= =?us-ascii?Q?jiIbTmNSEuKqlQcsPqsxONMeyMVUpA2vPCnZ66xT+L9xFaOpbtrcCbDKgXGS?= =?us-ascii?Q?Fgbxv2+Gux/zO5utx3a85xZF5J4F/ZMXGoKaEM9MTWoIMs0f5V+ubIhKiQGj?= =?us-ascii?Q?TY48O37/i4yIwVgQ+fNzdOp3Iw05pTmI/QKPhe2DM7Cy7nHCnDB6Kp01qrL8?= =?us-ascii?Q?dWO/xKC+boj8W4gNyPW338P5Id+6391qEit5/1geL7BVCX6ddJrQqnBvYbar?= =?us-ascii?Q?YSfVJRCN6Y0mObbtWmCSnJ16rEuQkHbsrMxPOEulslViMrbP?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: c6162507-ee88-4ed2-539a-08deb48a06c7 X-MS-Exchange-CrossTenant-AuthSource: DBBPR04MB7500.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 May 2026 03:03:24.8128 (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: f2CoSeqv1GJPAIgQ0JKz2nfunj9Huxu2V41mmevq7+esCCDP2uH07lDfnvtS/w+Gy4Kbe6cnipAtL+U9BjcN5Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA3PR04MB11180 Content-Type: text/plain; charset="utf-8" The teardown sequence in enetc_msg_psi_free() frees the DMA buffer before clearing the device's DMA address registers. If a VF sends a message or a pending DMA transfer completes within this window, the hardware will perform a DMA write into the kernel memory that has already been returned to the allocator. The result is silent memory corruption that can affect arbitrary kernel data structures. Therefore, clear the DMA address registers before the DMA buffer is freed. 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 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/net/ethernet/freescale/enetc/enetc_msg.c b/drivers/net= /ethernet/freescale/enetc/enetc_msg.c index 40d22ebe9224..b4d7457097e6 100644 --- a/drivers/net/ethernet/freescale/enetc/enetc_msg.c +++ b/drivers/net/ethernet/freescale/enetc/enetc_msg.c @@ -96,12 +96,12 @@ static void enetc_msg_free_mbx(struct enetc_si *si, int= idx) struct enetc_hw *hw =3D &si->hw; struct enetc_msg_swbd *msg; =20 + enetc_wr(hw, ENETC_PSIVMSGRCVAR0(idx), 0); + enetc_wr(hw, ENETC_PSIVMSGRCVAR1(idx), 0); + msg =3D &pf->rxmsg[idx]; dma_free_coherent(&si->pdev->dev, msg->size, msg->vaddr, msg->dma); memset(msg, 0, sizeof(*msg)); - - enetc_wr(hw, ENETC_PSIVMSGRCVAR0(idx), 0); - enetc_wr(hw, ENETC_PSIVMSGRCVAR1(idx), 0); } =20 int enetc_msg_psi_init(struct enetc_pf *pf) --=20 2.34.1 From nobody Mon May 25 05:54:20 2026 Received: from GVXPR05CU001.outbound.protection.outlook.com (mail-swedencentralazon11013042.outbound.protection.outlook.com [52.101.83.42]) (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 32BAC381AF0; Mon, 18 May 2026 03:03:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.83.42 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779073421; cv=fail; b=jKf9TgPn4Q7lC1ARR2HD0oB9iFrtTR//x4KOVJQ+ryBiezCJMCMR9zqxBlSUc2z4xpSy4xbQv1tjjRkoHvjvWtHzfgx2ziXhkHpLNVIA6fh75walJkJL35r6D1zd5EJHZca875fc8W0QF/ONHyKQZdDCVm+p3jwUD9MmYnCdC9c= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779073421; c=relaxed/simple; bh=Prm3C5ULUW4aMn9gCjMf9I6O53o5jeqsvoiyyHeZOHg=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=dZ6+KB0aj0Vdg5pXQAH02mO36iCJDigbJTTtx9DPXoVsJNaG6cg5/G0mitQmvLRdbMq3WEn7tbKfNU+GE/OWth3/CW+DrqMYMzBu6pf+HovgjjXwJCMwoGPm+Itj+d1sGgPP9ockOf8yLOh01cwoZMLLYDFBNJWXzbHamDYx720= 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=crDhx0iN; arc=fail smtp.client-ip=52.101.83.42 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="crDhx0iN" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=NLGI386HyixblaDD+1aU2MI+xfXma+eePD9nN5/GaSSKNoqaYEqI3ad256L+MBRU9yZ7wbwMd8vXgOjyq5MfD56jfaGyiM94TT2xBlTypRSPfPcp4OTmXz5gEpOOmnLRqD03c185uYVRUCIv42Kq/JMu5gCmVD9jHwo4LF1AHv83xb4PUduqgitm0BiFGgN2go4yfvwl+Kb4pIv0vnUlswObw4eD/hQ6JRbdD8y7GOosKr4yI4yKIXz6ImJ1sazETefxScPwFmPsnjyyg+okk/igC02sdBt0mMiOi8eR9yLul51cgDx85F0D1pz1YsIoUrMEBxHT1jD+YMR21SzkfA== 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=EUyb4lOS0JTC2Ax1ifaTxIfgVtO5tU/lGEcD+ACK4MI=; b=bfEH6a9zijD3vF1oZY2nMXc7lyB2xVqArYZJG8wYPQ6B55uro2GDE0aOUvH63huvTDs0FF0f1R0AKlbtsMU1PW5Lde7a4GYFbMzPYZDAp0D6/POdN2rsZQOFuazEzv2V9o3moRifuXPTsOJ7RGNT6PfRm1/dBCorpRqcytG1immIiiE64n+KNFLRXWBMazDvIEEr6bkthlb4BS0F95PdzWeEqC5FWR0Eqt/g6QE6cqsBilx8c6x9/gltEB3HIcRlnMPwJOfDpIayx27lTLzgSZoWA8IQMSqc7+L4RBERd7GZ3hafvC7OSRmjpa0453OFuERh/VUgzYM6mo/6TaQhMg== 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=EUyb4lOS0JTC2Ax1ifaTxIfgVtO5tU/lGEcD+ACK4MI=; b=crDhx0iNVlOFGk1jq5xDGsq8eQFrm7/cZMJE3JkxrlQTkhPZpc5JEwi6fFjNgnKx2XqrbuOnWT2GFRXphTgWu+iBCPkT1Or9T0m40c8yTqzXMJf4/2it/CSUU8OAab8mwDnbNB8rE6UayByjZJmMC03mxBY3V+2PQ7VAFFoy7gXGctJAmczr9A9eXT7rVDSQbaX3HHZDNMkGVn2dliwOhiXdIuLLneVuaCFMXlBeNYT0857fJr8+9pBrqD1/6chp6VgClaCrLRVnszHMSOlRb2+pmoRd7NukM8I5jHa7dTJD8wjjZ4MJILmaY7zksfXPkCdzoG9WtG6j4moHJczj+Q== 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 PA3PR04MB11180.eurprd04.prod.outlook.com (2603:10a6:102:4b2::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.25.21; Mon, 18 May 2026 03:03:29 +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; Mon, 18 May 2026 03:03:28 +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 v2 net 7/9] net: enetc: fix VF-to-PF message handler unbounded loop DoS Date: Mon, 18 May 2026 11:05:33 +0800 Message-Id: <20260518030535.1057228-8-wei.fang@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260518030535.1057228-1-wei.fang@nxp.com> References: <20260518030535.1057228-1-wei.fang@nxp.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI1PR02CA0037.apcprd02.prod.outlook.com (2603:1096:4:1f6::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_|PA3PR04MB11180:EE_ X-MS-Office365-Filtering-Correlation-Id: a1638024-7ce1-48da-005e-08deb48a090f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|19092799006|52116014|366016|1800799024|38350700014|22082099003|56012099003|18002099003|11063799003; X-Microsoft-Antispam-Message-Info: 6Kd3bCeHfIFg/Kycy7D3WvP49/llNgACt4SKSnqomjqHc9NfaMyFa91GUo81iWiBT8pSEM0zNV096Oqm4+ZcRF5Cb23gdz6Pr2aAaB1FubfvXeh6DtX59fXuvBHSXo3gytPidN+X8mwF0Dsgjfyt+GnJpPu+TkqHZg7B3T6dglLtjl1bZyofrcXutNQzWE52x6VLFskFVOcBdEMyzf1LIeD0a7kT8nRY2CyionQMtQfO+epoLD0SEt6zqVYZuzFFo5SxuGca2+ELmgqVw+U5q9ZUKM6gmILpWy89eRmHB7lXM7nUKvrEg0Owxb3iSQwV0RLr4MMwLM8YBpl1inbRRk37K8Ol5qd3703AnHG0lI5jb4xAT9r80aNMJtromtzRkRXWLX9cpQSJr593CJVou4lNjAQ//6zR5pXHRPcpiyMDKqPzdfdi85niFUg10oZq6OIBxk+0RceNZS2pUk8uT8Ph+/eem7PT2xVdpJo1TqPa8lTxd2AJhqlr2zSkGdUr90E8MAySdnGzUjizCxGUCOsHYF64bZP6QeR9wT+KPRc4w0ZfbNCmG7kXQlklAb+tKjrJ0yQhVPnC2Krg8SYql28PJ5RDpBD6e/AmNJGsEjWIx24lfa5eru+mRw0H70QqBUIaDFvxDm80jWPZvCCy7i+8TmQa6THs/iK9sgnPs6dNmdKTaKw1a12exK2mp0RbpwAMV0RK/ooeN1IiXipJH5UD/EB7IGCSrvdCL+Mp0LygjHmJzHmf5J/CYisbxCss 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)(376014)(19092799006)(52116014)(366016)(1800799024)(38350700014)(22082099003)(56012099003)(18002099003)(11063799003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?rnguIhxTzziI/bX0FTO74TglHdGsb+Hep4McEHJZsgdAWmE5hlryst6eLtmI?= =?us-ascii?Q?iWNn8fpJ3lpeeLyuDuXmhtNrga8Y3QuHwFMn+3Z7nV9gNARXohAdqlJtHGeK?= =?us-ascii?Q?ZHTFmlptJ/AiNJ/bBBYh4gwTaA71js9wbkRu/NyYzWzxvVBD5pYx3ZlXB2Jl?= =?us-ascii?Q?pIeywtRRB9gkHak9uwhIFzS8pDXAINLX74h9VB6EYjzs9uRvkoTHNEeM/GYU?= =?us-ascii?Q?d3IZDfZXJt+CV3Io0aA+EHQg+Lwp6hMQYFZB8gR5Ma7v+0MtW3Jyyvxv6358?= =?us-ascii?Q?mlnKNat8/FM84tG3UlxGfGIj3Wd1XqSYXIWxWZtw9RKNpmAw+nr6fbGdCqcY?= =?us-ascii?Q?spTrnA8MpJ7PCYCGSx49m/qTtozNSoXrqrlu1POcg3IYyAaK2WLPHqYrS6qM?= =?us-ascii?Q?a3gGq283e5mXGNfukqW/WiaKqaqop6YbcqX5eDHZuPKdA4WVO3mzpU0VFpEL?= =?us-ascii?Q?A7plu/QhSG/oP7NdC4CAsVGRwdkq6JxJgNQ3+lbj+LPOj3Gm2f/2Wsnh6LaG?= =?us-ascii?Q?eWg8VjWG1fb7VxZ7fY5cTP3EfSeCyq+SG7uewVGyb8r8CXXbU92jOuS0SbUO?= =?us-ascii?Q?NJuM1zvOoIT+vF5CUfCMDZQK1AKPs2fmzRGruZvBsqRxnh+u66L9xvxwy9+l?= =?us-ascii?Q?LnlR0IQke+nAZiWIOgXYhFknJsKWr4W0vs+xflauI5hUdz6aIZgJzad56cPj?= =?us-ascii?Q?w5qDU176TAiILz/UVA/Xx3b4/hTebpMgKVZXMEw4GSaTCH/ktYU362uZXhb6?= =?us-ascii?Q?kX9skLVShviJecgBvAOfbEDSFMEJw6xL/sIx8gSyN/dy6VK0jfoKFmQMPH26?= =?us-ascii?Q?7F+D3ycf9Yi5k46+Qep85n1LxvOcw5he4JwfvjoOMZ2DkpIAKSUF19zaHbq/?= =?us-ascii?Q?G78KWchpEk2nGJJw1uLN1HJyMW7VgJHWIxZicL45AMLSSme5LgX7+j1eQQUS?= =?us-ascii?Q?Uyi3faJzlNV6ndju2+BvMTCyN9xzyAvnGDqk3QRQrbj1UYDbjzqySl4+JOzT?= =?us-ascii?Q?dZ1Fn6/bkfbaiyEQ6mYMCle/+lUnbKjz6TherbW+1+0pvft9W6WM4JM6vS4a?= =?us-ascii?Q?/80d7GN7lIVkWnTUc7BdeVutUcK9DyU2W2IWotQREgvqc/Y5oD4q8cbLgpqu?= =?us-ascii?Q?YzInzA4VxEA9WShPZQurY8YO8hwuuCQXcjCuMuJ0rTdAnVlhfJud0124PKh6?= =?us-ascii?Q?9465GrnO3NJJaAs7o7v23BPNsIl9F7O7qB/mjegTh6LR0UnDrm1mYBiKonML?= =?us-ascii?Q?Xgu4tx31OwaSvdSzFHCK4UUNxG3nmQNPyhfsH4i2M4fOt/yIE2vItohyeWCB?= =?us-ascii?Q?f3UplNZyEEKlVevtJ7M1uZYK7whM5WQT24SQEyDScyYK375QbpxfCrm7eK6r?= =?us-ascii?Q?P1OjIyzKk0Zit0vXP+ozcCo+I5/yhGtGn9HSc1avAZ4SvMS+Hesk8/pY22zm?= =?us-ascii?Q?GM4kUdIkoScrmY9/tqsNaic4uRzVGtS4+Qf14ILo870XCm8ydGABHhN+G7r6?= =?us-ascii?Q?fSybRRWWfpKMLGJwb5vgdDc0e7bfEwVhChIpY0dLnH+8XXxOCyY6vVzx9K5u?= =?us-ascii?Q?heEX+lIsmfz/av7eeJEzKPuQFREtSEEmeOhWxyPKOkrLv6B0sKYsJ77l1zl4?= =?us-ascii?Q?9XYkMZG3UnpixyAt2ikaYjdffgJ7bz9MZxFmYIx3j/9ugPKO9Jn5CD+/FshY?= =?us-ascii?Q?fzUgY+zSD8Q4taE6D8fGbX0ipmGPIRc5+k9lqBB1R4mCssAd?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: a1638024-7ce1-48da-005e-08deb48a090f X-MS-Exchange-CrossTenant-AuthSource: DBBPR04MB7500.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 May 2026 03:03:28.8964 (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: 7NXqVEDjPcFXPTzRSdV3UDEPrDKoDBWIsLCj+MqEj9V1bLK4D8nTobTwzB3wCn91LOv0NRcQSxIzOXcMsD1Hdg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA3PR04MB11180 Content-Type: text/plain; charset="utf-8" enetc_msg_task() processes VF-to-PF mailbox messages using an unbounded for(;;) loop that repeatedly polls ENETC_PSIMSGRR until no MR bits set. A malicious guest VM can exploit this by immediately sending a new message as soon as the PF acknowledges the previous one via a w1c write to ENETC_PSIMSGRR. Since there is no processing budget or yield point, a VF can keep the MR bit continuously re-asserted, preventing the loop from ever terminating and starving other tasks on the PF worker thread. Fix this by replacing the unbounded loop with a single snapshot read of ENETC_PSIMSGRR at task entry. The task processes only the VFs whose MR bits were set at that point, clears the corresponding bits in ENETC_PSIMSGRR and ENETC_PSIIDR, and re-enables the message interrupt before returning. No messages are lost: the message interrupt is disabled before enetc_msg_task() is scheduled (in enetc_msg_psi_msix()), so new messages arriving during processing do not generate additional CPU interrupts. When enetc_msg_task() re-enables the interrupts at exit, the hardware detects any MR bits that were set during execution and generates a new interrupt, scheduling another task invocation. This bounds the work per task invocation to at most num_vfs message processing iterations, regardless of how aggressively VFs send messages. Fixes: beb74ac878c8 ("enetc: Add vf to pf messaging support") Signed-off-by: Wei Fang Reviewed-by: Harshitha Ramamurthy --- .../net/ethernet/freescale/enetc/enetc_hw.h | 1 + .../net/ethernet/freescale/enetc/enetc_msg.c | 38 +++++++++---------- 2 files changed, 20 insertions(+), 19 deletions(-) diff --git a/drivers/net/ethernet/freescale/enetc/enetc_hw.h b/drivers/net/= ethernet/freescale/enetc/enetc_hw.h index 662e4fbafb74..39b82faaf041 100644 --- a/drivers/net/ethernet/freescale/enetc/enetc_hw.h +++ b/drivers/net/ethernet/freescale/enetc/enetc_hw.h @@ -96,6 +96,7 @@ static inline u32 enetc_vsi_set_msize(u32 size) #define ENETC_PSIIER 0xa00 #define ENETC_PSIIER_MR_MASK GENMASK(2, 1) #define ENETC_PSIIDR 0xa08 +#define ENETC_PSIIDR_MR(n) BIT((n) + 1) /* n =3D VSI index */ #define ENETC_SITXIDR 0xa18 #define ENETC_SIRXIDR 0xa28 #define ENETC_SIMSIVR 0xa30 diff --git a/drivers/net/ethernet/freescale/enetc/enetc_msg.c b/drivers/net= /ethernet/freescale/enetc/enetc_msg.c index b4d7457097e6..39f057fe85c7 100644 --- a/drivers/net/ethernet/freescale/enetc/enetc_msg.c +++ b/drivers/net/ethernet/freescale/enetc/enetc_msg.c @@ -32,32 +32,32 @@ static void enetc_msg_task(struct work_struct *work) { struct enetc_pf *pf =3D container_of(work, struct enetc_pf, msg_task); struct enetc_hw *hw =3D &pf->si->hw; - unsigned long mr_mask; + u32 mr_status; int i; =20 - for (;;) { - mr_mask =3D enetc_rd(hw, ENETC_PSIMSGRR) & ENETC_PSIMSGRR_MR_MASK; - if (!mr_mask) { - /* re-arm MR interrupts, w1c the IDR reg */ - enetc_wr(hw, ENETC_PSIIDR, ENETC_PSIIER_MR_MASK); - enetc_msg_enable_mr_int(hw); - return; - } + mr_status =3D enetc_rd(hw, ENETC_PSIMSGRR) & ENETC_PSIMSGRR_MR_MASK; + if (!mr_status) + goto out; =20 - for (i =3D 0; i < pf->num_vfs; i++) { - u32 psimsgrr; - u16 msg_code; + for (i =3D 0; i < pf->num_vfs; i++) { + u32 psimsgrr; + u16 msg_code; + + if (!(ENETC_PSIMSGRR_MR(i) & mr_status)) + continue; =20 - if (!(ENETC_PSIMSGRR_MR(i) & mr_mask)) - continue; + enetc_msg_handle_rxmsg(pf, i, &msg_code); =20 - enetc_msg_handle_rxmsg(pf, i, &msg_code); + /* w1c to clear the corresponding VF MR bit */ + enetc_wr(hw, ENETC_PSIIDR, ENETC_PSIIDR_MR(i)); =20 - psimsgrr =3D ENETC_SIMSGSR_SET_MC(msg_code); - psimsgrr |=3D ENETC_PSIMSGRR_MR(i); /* w1c */ - enetc_wr(hw, ENETC_PSIMSGRR, psimsgrr); - } + psimsgrr =3D ENETC_SIMSGSR_SET_MC(msg_code); + psimsgrr |=3D ENETC_PSIMSGRR_MR(i); /* w1c */ + enetc_wr(hw, ENETC_PSIMSGRR, psimsgrr); } + +out: + enetc_msg_enable_mr_int(hw); } =20 /* Init */ --=20 2.34.1 From nobody Mon May 25 05:54:20 2026 Received: from GVXPR05CU001.outbound.protection.outlook.com (mail-swedencentralazon11013042.outbound.protection.outlook.com [52.101.83.42]) (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 193ED3822AB; Mon, 18 May 2026 03:03:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.83.42 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779073426; cv=fail; b=X2uXzmHP+5ds4U4pydlYAzAUl3+Cy/4tK+Wv0pYG5WGARUdg9R0VGpaDHb9LBg3D8QmDHXSvCz4Ryi6f5EdWiDW5S61EmB8Hgxt8If6XThHHGja80GvQYmFnBUA0g0ed3Wa6Go58qv/zEDbkSJyXUxST3v9nCjmuOxB8v7Bzi7o= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779073426; c=relaxed/simple; bh=0mX9eKjhwV+0tHAGDlWjwx21GCQK5D3pQ2Qz3kssKOY=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=pxFQ8mmTbPV3J5p8+FEBUEU5Hy3zQK11637PoMEDVWzFE6A4llm4O/8KkGD5IduAAiw7PNrlrRlwT5YQCC5wy9VIfMeF0WCw7kviCN0akqRajhDCPn7EDj2ZV4yIEDoXCPKABrPpE+lqsmFFEMRLisUwLtC73v2Et983TjLW6+8= 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=grh8snPm; arc=fail smtp.client-ip=52.101.83.42 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="grh8snPm" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=VMGCnooDP7dQdQwFx299G+nIzsrfJaa43i83tJ857SFhZWjory4seWDEwB5SlDfqlElk+XAecFLxa9h9NZPEZ4H95YZZKq/Cvw++bW0xFSS3umggKjTul72ZNr28ASeNQy5eC2lzSt1H/Szli32y9Vv0IyNKAqj9S5pRHXeXoxcMo9U1ZHRDzunDsWMV4fgU5oGYm+FJc+lSq/Ff31dVVi87a1kULdu/p7hoHX7JjlfENyjLOuWXZwOpSn6JzUlZCPvGhPqLuxhWdlbHtvvmzXQtBgbBEp+CI+xw78N9eXdMQ32TWJT3R/pVFOk1TcPRlfRCD/aSgBC8NHbaMSxtdQ== 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=+IUwPfSxGy8AXsxXQ8XyMI2H3OD5NN1gY7/JxMgwmdQ=; b=CRLbkVS74X/MY0D/DXwM9aL9htLhIw+nCssh6cTA0c3pdOASaUfPrKeOg8L4SfTiFOJydOWRzbhrAPnhZYvSdCWOZxa1djnmlEUS+CcYNvQJTkv/3xt0tBvnMYTohOt2EUHDPzStpVSqm+CxOq/Dvk53PuOWOhva8EE8p6C1pxKJDlIlvEd3F+MiOzGkPb0JiERgHymms2ss2zYNfcscR3BQ7oJcqweEBHwSVLWPHT4d9TFqUiw5/sBci1pSOav5ZG/wegjtHwQ2ckl+f5ZotgUFi4YplUYwc2YEVBZYT3uPf3OMWBLuT+AwqXUnW1kBtKOSuWGMedK2ekTwZ/D8TA== 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=+IUwPfSxGy8AXsxXQ8XyMI2H3OD5NN1gY7/JxMgwmdQ=; b=grh8snPmEQSV+OOjG82U/NLNPY4L4Igz1E5Tp+BYZJ7kG1g2wTLtdB+u1xpiQrr1Pb86YlFbasRh/yTWlbpCBgW+YuIlwTjEuDZA/3d6A8n5gnMc0jKmYMwif3+LAt9mrO3rFT5lrDumeTnygXhaeP7t0BIkdkjzXQU1JmgrUexNFVhG5U1Rj+OhpMk7dvDYZAyJhES3DkXuuxqs5Ejwado5hNejGs3X+dz4cuq8T85wyBSbhjFrvCDGIdBO0qNWAZNzY9lNGhQar4Ykb8rbBkK5u25QjemSHXS1WK/i3nsFXxDtTXB6Gl2rRCDBcWdXPpOhNmBF7IolRTy1Z/XfTQ== 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 PA3PR04MB11180.eurprd04.prod.outlook.com (2603:10a6:102:4b2::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.25.21; Mon, 18 May 2026 03:03:32 +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; Mon, 18 May 2026 03:03:32 +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 v2 net 8/9] net: enetc: fix initialization order to prevent use of uninitialized resources Date: Mon, 18 May 2026 11:05:34 +0800 Message-Id: <20260518030535.1057228-9-wei.fang@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260518030535.1057228-1-wei.fang@nxp.com> References: <20260518030535.1057228-1-wei.fang@nxp.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI1PR02CA0037.apcprd02.prod.outlook.com (2603:1096:4:1f6::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_|PA3PR04MB11180:EE_ X-MS-Office365-Filtering-Correlation-Id: 84bb23df-660f-4c6a-2e7f-08deb48a0b82 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|19092799006|52116014|366016|1800799024|38350700014|22082099003|56012099003|18002099003|11063799003; X-Microsoft-Antispam-Message-Info: TIg2ZIPUhxfrXMXhr9XGHsAAavYUr/N3Kg9bffNvcnswv/y9P2W3HeQHYPOPWyT1NktHzV8uxbePRGjr3WNlfrnRgVVGRXJ1dojL2eYtqOnXpGBrhBfDhPrdzOLuSZrFwGeTWDUsT23QPEk29netFKvUQdEInMYZveUpmlWv4EDkroNdzGieP05cnBT+GFi6DWWGAB8jjVivKknTixHHuhrtLixL2TDQdYyh78WFTmUkxxjcw2UOfHr0eQbVpHiB9syl6ScPogtC+02Mz3s80Rl6NRE5ppMnE4iDLZjOAN0IImlAZ+Hfc9zA2KlesGFSbofgVNgwnMHlnFuXdJaPR2g4BavpZRq+lyT4ocOcZ8dDx9rBmIYeuba1y/nuL/98yIoUeBXQyvaA06AAkaqmbZDSso6WPb8JELC7uWK4gPmznHiDIhVSLhWg02vjBxzyCqJwDr/hLUHIHnrJb+7+Agh3aMj41V4uwA5cTYKUzGhMCCEFnIw3HREWSuOLnpb/4InnuRFudiZWfV9nZhfk8s6SqsLQF9Door3HybNYgcnaKgxFhP/3LAFtz5XwRA6QTzdOq8JUvZFs5Yn8+2FpnlGNVVIqohjp5CjAfbsLyyGsAzDi00yahCPbtBDlrHGukCQ8XVnD87vf80PZ5mHkNyotDIaqgxe02O5XcTXITWS7Gn445B10RZbeb5beKk8S 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)(376014)(19092799006)(52116014)(366016)(1800799024)(38350700014)(22082099003)(56012099003)(18002099003)(11063799003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?d8tGQNydt+OV55jzY1MCA6k3LwiVpLUdMzF5L6X6kJTUkSiF23uGxUGSlOod?= =?us-ascii?Q?MMma+p6JRst5F9CFNMdgxoUn2oEH1kLUjQuSqXMSkn2P2l2QHqvPEy8IDOIZ?= =?us-ascii?Q?Fia7a2wzWNlA0QViGM5lXTCFnPGQWQetADmvwgruBD9d8fL+1EyIcg6MK2CR?= =?us-ascii?Q?1Z2isjWLk4Zhw0lp9gIEZhl4NLYwJVZGp1EpcLb0J7+UkplDEyHKlJ9WGyt8?= =?us-ascii?Q?UxYPs2DnsmCS1RzGpv2/8Zwmd++d22hBtnqITYYxO188t3SfD68T2Y/9eQIW?= =?us-ascii?Q?KdyWUcd/FQ7QvujHN3Sad/Ny5QocybWLKuJbojChfW+ZHAfBGd+23vShipLN?= =?us-ascii?Q?3/Dp1oZ5rWzKdQI6U6iwZKFfh61hXvaJB4oCxjs+YW9chPCXY6kyCXPeQ7oF?= =?us-ascii?Q?2NnomJG/uDQ67e9Crk01tKE/V6wSRPMuFBVHxQJrrimTkwNirfiXg2mOtllN?= =?us-ascii?Q?f+dnZsEMOmUMo+tVsxalKuvSy/Uk9rVLro1owyMotZVJF4nkNSZ7FfSORuFZ?= =?us-ascii?Q?4JDjNIO/p5GRLxWgFMz1ewtk2Q8G0OA+bSaL17au4gPSxrrnVSScj/soenHV?= =?us-ascii?Q?aJB/kQUoks1ptZr6sRvwU0RGHK6dJv2p3T7SNHw0uWcjMkMdSCvUXCJTqsqd?= =?us-ascii?Q?WlBbETm/b57+Plu5Ixbh+vARUVNAHP8Mt8MRF04twPrWCxZv8EIiCJrEXun1?= =?us-ascii?Q?MVKHSVxA4HnPKBrvfjjz92IlxaRcfvZBw1AE9U4HOinIfcSWupvHNgh7ekDi?= =?us-ascii?Q?eItVscwHX3zvlh60b8R/lgffVrO/MNDz8AU8wKWYp3nzrvtGBu7HiDNt5BU4?= =?us-ascii?Q?QIxIBU33jFXsDbQ1+h2AzaSQIN/9aE/dc6BuqnzCC8wtoo4DrF2YYDYKIrmq?= =?us-ascii?Q?TYcteGiw252LsIPyBXOkZVah6MPMYYSEhdbys4p6+g7hHMPvoqtCO7WDp2GU?= =?us-ascii?Q?VFFP7Na2HA4ZhCj+kC2qEt2TN+UmYlBhG+zHK5SH3q97nzWU0CKXV9e99Q3x?= =?us-ascii?Q?Oj2NvSTnCxbAfKwv9omB+B9CUJCyyGduYqlrZ9e/LVHxMWC5qs7TeW753Uxs?= =?us-ascii?Q?NkoZz5FeVRwjmbQXfBmsfwk0/SD82R3nnOKj3vH3zlBoMQ024komsxBKtTUf?= =?us-ascii?Q?Ve93FQKe78pKSqxe4bU6mzaOHG4XfByF9BZbGH2sVxocjNIGCuIcs6WsWTIf?= =?us-ascii?Q?6hUD/ir8FZD46oGYjqV/QGzJ3HB8O/ma+jeEbY/4butK4S6D0Rh0NJarmncX?= =?us-ascii?Q?ttlVgotjBNQLChmqiWvFezfhbdRitEf/5ACpzb6Jtzg4qen9nPULJnNBx+W/?= =?us-ascii?Q?u8GIqqftFjKMAPsHkdsLkL+SmvcN1sWGZguRDkn3fD92Z7y7T3eJCmgmAAXH?= =?us-ascii?Q?LkXr6H/lXsd4Hx/v45Ezpqh2USMI1H3JhjqBiA826tZE8ppc2X0jKLS/oww/?= =?us-ascii?Q?J5wVxiVQ/C0KtBj70GoV4VEq7SXOFXkH9ch9OPBszrHdwjIkew6dNG/YwPo/?= =?us-ascii?Q?SdN3SjsclREmHeDa2/HdXRFBYWlaAchdj2XTyJqeU3jw8C/dQmrnWfkmHqLQ?= =?us-ascii?Q?YkMWGd+kLgqE04hUpaAh8+CzdPz1Q4+cGpNF6gPYik8zJI6oNSaod/1rFgYO?= =?us-ascii?Q?XupcDvR8rfBw9renILiAyUGYTGXYRgbLy/N2YubLARjiKUmlblyv8Wk0uJAV?= =?us-ascii?Q?s9Ga4YARKtYVNDLRNVHBFLMPQbZ2j5P7KqFUlcmdSAlkiNfn?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 84bb23df-660f-4c6a-2e7f-08deb48a0b82 X-MS-Exchange-CrossTenant-AuthSource: DBBPR04MB7500.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 May 2026 03:03:32.7115 (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: 0pxjjP1Kox1pigt+2NDYoq/llQJoAMhW6g1P8MeVfvN8o6teSvrnOzMMwvKiT3oePJGn2qrXrw3JB9/nhuQlkw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA3PR04MB11180 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. enetc_msg_alloc_mbx() <- Allocate all mailboxes 2. INIT_WORK(&pf->msg_task, ...) <- Initialize work first 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 | 35 ++++++++++--------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/drivers/net/ethernet/freescale/enetc/enetc_msg.c b/drivers/net= /ethernet/freescale/enetc/enetc_msg.c index 39f057fe85c7..a999f1e7817f 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 + for (i =3D 0; i < pf->num_vfs; i++) { + err =3D enetc_msg_alloc_mbx(si, i); + if (err) + goto free_mbx; + } + + /* initialize PSI mailbox */ + INIT_WORK(&pf->msg_task, enetc_msg_task); + /* 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 @@ -151,14 +149,17 @@ void enetc_msg_psi_free(struct enetc_pf *pf) struct enetc_si *si =3D pf->si; int i; =20 + /* disable MR interrupts */ + enetc_msg_disable_mr_int(&si->hw); + + /* de-register message passing interrupt handler */ + free_irq(pci_irq_vector(si->pdev, ENETC_SI_INT_IDX), si); + cancel_work_sync(&pf->msg_task); =20 - /* disable MR interrupts */ + /* MR interrupts may be re-enabled by workqueue */ enetc_msg_disable_mr_int(&si->hw); =20 for (i =3D 0; i < pf->num_vfs; i++) enetc_msg_free_mbx(si, i); - - /* de-register message passing interrupt handler */ - free_irq(pci_irq_vector(si->pdev, ENETC_SI_INT_IDX), si); } --=20 2.34.1 From nobody Mon May 25 05:54:20 2026 Received: from GVXPR05CU001.outbound.protection.outlook.com (mail-swedencentralazon11013042.outbound.protection.outlook.com [52.101.83.42]) (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 8573637E2F7; Mon, 18 May 2026 03:03:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.83.42 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779073429; cv=fail; b=MXJYXmCxbuJf9ybpZzaxdPEEdTn2t/KRxNM///DEKhwufXUOavKTR+LUwN2H6NG3QjUErNTMylH2VKqvjYeDj175cMc7aSr8AQs9s8NPDyXdx3PWYbFSL350YUU7E//mxgVB/6PZ80hDEbl6rMq9VJDzzrJzi/sOdvZZBCQdwrM= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779073429; c=relaxed/simple; bh=G7iiO69QxtV4BJMo6xS2hTP3K55zFMfhw2FCeF4gL2U=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: Content-Type:MIME-Version; b=Yg+ZvLVmH+NgXTHTmnLarzwvGijyHe3h3iB2gPU8NKQPZ5J6ChOlx+JiMkHAocORuFKWxqxbAN8zKy6yQiqTNKlPVT8bLCL7V95X1IQjqlps/e5FH8GF4Cx3Mnaz4B1lS3qo7K6eA9TaYZx8IOc4VTEwe+UoIth/tYCZFFctTl8= 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=WUFo9wRc; arc=fail smtp.client-ip=52.101.83.42 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="WUFo9wRc" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=GHUw84BYOXkexmIbc4f347BKV2tIljjuyBcTPOyfw4HLSEE1PjBCer9bPYO+UsRY+BEhKZVgFhElaJu7lIXhcSQN/bUMBjEo1R/16OhfsF4gG60C/BxN4/0f1hm7l31ffxn9iD4PegZuJ5njGzwAGJDhO5fFF/i+Q977O1KjSbeySjrqeyh6LK+zou7N9I8Qs8fH13Jo/OwHmgjxWx7a7MZKx92vtpqD3HH/ZUl7Ig+5X/3eHtf9j/P2GYRvX87omI2RcO6xBOe7yQW7zYLA+ef0+I5t3WaikHkVmFJ2J/mhUQv42tSrSnLUEIrPlm+dB4Xtwe+p8Tlu1su9Ncvs1g== 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=wT+18sSbF/UwxHwetvQGHKNFQyZRTTe4VmdC/kIudBc=; b=LgtQOgntzhdjfMYJRoxKinXkOqANORfvy8fuvn6KLdeOPMSvjXeioLisgPG94pQ9JTAk+h9FzwZFpxG8Kl4B/vejivhqNw4sKP3Sq2frPGQxNp7e80S8ePgk/kF8EyoWds27IK+vOxOMTd11yWB1eh7MTO/4qp7FqGCCPFVxWxgAN0sVFgMcbp4MIz2PcrtQQ19lgDCPK3U3DCQ9/hbbx3aDv0IbLfcY0uz3uuppo9qUG61cw+amnQ0fOeUSbTtk+jYiUwpyF55KfeN+/Lqy6AcVyjd6UNxXqK9WYBve98CltGtOpfrUhZCcWDks0hg2zV2Owa20AbFsSn/jcLHIBg== 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=wT+18sSbF/UwxHwetvQGHKNFQyZRTTe4VmdC/kIudBc=; b=WUFo9wRcyuANiu4WlSFEe5ouzoXo0tDxP+syPcOhfPC/e7hH2ppLbDnHSJzngVeBzsGIEsZmaZZPIQ3NMXBHA+rgRaCYUxz4/ydGeMGhdMIQc41i/ueZrjcj8ie+aEOuK8I04VgQy03yfYkGPRzvlNfkgE+KwDJtxsF4STDsNLTL3g4IEvh4kX9HXpEF4N64sqrGxqmF9U7HD8GuPgwtPLGhPGbH2Ea1BN/noCfd98PrHD3T2alihJ1m+Gjbk0pLVDXBUZT+x+bc/JT1K/sND3NjOeUOFSHyd3nQBayR1ne4xcXSP10jU/+J7loOyj9tVmzPqijt2Yo0x4epUMCwww== 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 PA3PR04MB11180.eurprd04.prod.outlook.com (2603:10a6:102:4b2::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.25.21; Mon, 18 May 2026 03:03:36 +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; Mon, 18 May 2026 03:03:36 +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 v2 net 9/9] net: enetc: avoid VF->PF mailbox timeout during SR-IOV teardown Date: Mon, 18 May 2026 11:05:35 +0800 Message-Id: <20260518030535.1057228-10-wei.fang@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260518030535.1057228-1-wei.fang@nxp.com> References: <20260518030535.1057228-1-wei.fang@nxp.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SI1PR02CA0037.apcprd02.prod.outlook.com (2603:1096:4:1f6::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_|PA3PR04MB11180:EE_ X-MS-Office365-Filtering-Correlation-Id: 52cc67fb-f83f-4166-f8d3-08deb48a0dd1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|19092799006|52116014|366016|1800799024|38350700014|22082099003|56012099003|18002099003|11063799003; X-Microsoft-Antispam-Message-Info: 8WhV7TOOee/d8yfIArF9PWUG3z7Y7ho2lOUzancihK1ulqXbzHn7sziTT5FsHw/GbdTvAhuMXeK8Lg+ROU+n/5rYJeBb/ugJFGZCYbRmdT9vNKhG8TvVO3KVgVrjs9HrSSDIyFJpqGqbI/ru14ss4iw29xYbrYbV9EGS0Kg211zhalsabpVmD/yJa/3SsHKpwd2BTQMt+E6Crq1/YYm4n0w8E9GOt7+EWCQInlQGo4Nc7cqSgt5faPG+uwDh3wOEBdQOA2JXok/2F52YE4w8Kxp0vyzfjbYFe0mVSYL1fKYodDVXzm2ihAWskRMoAQmvYaH1g+sbefykjjZKawBvRl8xvoZKbiNkioaSD7nlZrooew2Dl67KU9xYgQ4CYPeET8kVQAx/tncreOiaAuhhFvJxiUyPD7wqHPTxiWay3p5Mx5bopTymxW2SOFue1aynYU2oDQMr8yRVMO9IUBzZZehosHKvkQ455cuOsxIU/4dYkrrOksHN62KlIomEi0Bb3OENl4favFgPY3lyQszY4bitjhe8ODvc/xPi1H3rMhTOTAYFRMUZ6JnPmChAKRb75B2sveFVSXpsVzpx9hqawPwP8z8k6y3inzHffH6HvDxd+F3mrjc1JzDkFzyUh0JonpnLRBofVjcbJliCUPWVZM1eQmA6eF+p6myu1RhdBaqC/HfYfFEXn+83g6XlPMiNwfYkJddsoQT0+nusCC0CHzdZTo5TKz92T6hzaRq9j2bzxdw8YPb56MyBT7stzUh0 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)(376014)(19092799006)(52116014)(366016)(1800799024)(38350700014)(22082099003)(56012099003)(18002099003)(11063799003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?4CURt4TOTkLuL3jVwEqo/nHd5OsQRDjXZSyLM4Rosk0lApJXLlkBvLuKa8fx?= =?us-ascii?Q?fnEE7jNdwABFEDhsRTH/2mmiO+2l6Viq8nctqDuNTD2Z52+bdfm2O1YYxPV2?= =?us-ascii?Q?zU/ugiMB6L+ila/SBCuMtoZy6wduWx5Nmy8NGnA+3uxPcFFeX7rE+ZGPGUmM?= =?us-ascii?Q?l/JJ4FRIsJVMDo2jyXNl0wdQ2NS5Gtp47B58aAMXcQ8dEHPBmyEJ+nVvIS1t?= =?us-ascii?Q?K4TgpfaWQtMXynWdwgEYOiKNCXURHK8EnjfqzEx1TT3KzJT1hF7OjBF8a30x?= =?us-ascii?Q?fV9M78xlT7v6QNhJBJmwjAqWdjmhPf4rp5zvZazuUdWPrEDF0+iq0GDkk7yt?= =?us-ascii?Q?t21QxY6NvjpI3eL3lb8LmuCRLeoKumJAI9cEniCwRVEcRYaJFK5RNRBIy71s?= =?us-ascii?Q?REHGXkgWrqkD4ivoznfyG5YyAeCLu0wU4V/3lPvyLFGx8L4kssLf+9WMW3kt?= =?us-ascii?Q?i98UDBW9J+xrNX4/8M4cxkcWprjfoOkSQD3xbHHaQbAwy+USu4Uu30hQnAzH?= =?us-ascii?Q?lL8zVGaq4VtnnZL8g+CroYgQTTN/hNBq5XC79cRCOZBPVm8nBSxb1d4H/SBE?= =?us-ascii?Q?HOgoB1LVifme7IBsj+Y5909xK6esqhXOj2GkQASFXTYdf6Vwm8Ex14nehrvh?= =?us-ascii?Q?DeC2VseX1JedfqZB04KIeGHMIc9IK/lqB43mSUVQ4G1NeJMDGbkuzuEVzoTW?= =?us-ascii?Q?6mKyHDhvhyveSvJGJkhNqgVv52OeSYE3Unb5z1fEPgEbYSZdjoFfbf80S9Vf?= =?us-ascii?Q?03SzsqincvcfRCWq6CMlRPOFMk7dfm/M6zovSoaUGV4OT7Iez6rFp1tYzx+Z?= =?us-ascii?Q?6dXRogHD6ASO6paTmdOcueveftmwIliZgBmAoR8l2aZydyWKhdz5nnbbSyw9?= =?us-ascii?Q?Vy1AgbJ47N+lYp194qSVGVO+JimrPoVGml7bkwxwTn4FMTX3q5YiD6h/RBxM?= =?us-ascii?Q?1sH1o7TLrc2lImPEJeCwVT/EsV2vYhF3NYhv/fVvjKv4CDpzx97p7LWoNXKR?= =?us-ascii?Q?4yzGVV0p0FypzkvDlRLGgHlFM7z2JyJqrqqlAkg1FdaRMCJcVaHJeYQ1ZZ5W?= =?us-ascii?Q?dACJfPLHcWkXRsGVyrk320mzYOEek+LqaIT1kZkLnDOxEy51M1AS3PpT0oPy?= =?us-ascii?Q?VlVei5YnE4LvMxXLY4Yy3Y2lVgx5nRmUq3MWXPygpBitP2y0hcg77f896J2h?= =?us-ascii?Q?YfTejpCPxYqU/j391DVI7d4FTRgBjl5XrZpubXxYV72ssQMm1qYkwFkJ35x+?= =?us-ascii?Q?sKME9SvBCULco5PU/eoiWqjtQsuX4Pwho+GqjNQc2xt+u6cjpTflMuTURBbo?= =?us-ascii?Q?lYN4pisvPj2arJYVYpsy+lczbqX3Z+jduW+aURA9BMYW9oo2Zl5GYgB6p4r0?= =?us-ascii?Q?Hl3fVy9GIXypyG5ytealjBwsfIMBBhYycNuBHBEF5jISSSLsuKdthOagswpt?= =?us-ascii?Q?V/MPjhxgaH0+qD5bzCPd9WTPzVlSEc5cb1Drw7yC4tQORY5HYE6DUgvFsrJN?= =?us-ascii?Q?RU8P7zZKFVp6jwyApPuzNUAxPWZzOUfOUWpXvd0+qWsFxWYaN+aHB/FOLnCS?= =?us-ascii?Q?R0c90dPE+369eY40MlC9wo+VIsyEpWOTVmej4ITiyIK6isEBruDUYPWXuUG+?= =?us-ascii?Q?W9rNrQt/3nXk4EsXQCaYWUue8emJYmHgHRscxhX4w8MNebCB1xBMiJ9mtWgj?= =?us-ascii?Q?rxOEfcWWGv2Ou4TEa9AzsDDEoEGv0A8tGuCcTIFw/5iNV8fTMLqURCRQMrRg?= =?us-ascii?Q?Iq27NCrq+Q=3D=3D?= X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 52cc67fb-f83f-4166-f8d3-08deb48a0dd1 X-MS-Exchange-CrossTenant-AuthSource: DBBPR04MB7500.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 May 2026 03:03:36.4937 (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: /719+SZx3RUjH31LlxnV+txkxbbnRrmN08X5xc06Z3mTI9OR2gistabUIc4aW756rv/G6+JatTuffycbAu7X9Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA3PR04MB11180 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 8e11a023d516..3206b3daa1a0 100644 --- a/drivers/net/ethernet/freescale/enetc/enetc_pf.c +++ b/drivers/net/ethernet/freescale/enetc/enetc_pf.c @@ -563,9 +563,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