From nobody Sat Feb 7 18:29:08 2026 Received: from SJ2PR03CU001.outbound.protection.outlook.com (mail-westusazon11012039.outbound.protection.outlook.com [52.101.43.39]) (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 64232217723; Tue, 27 Jan 2026 08:53:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.43.39 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769504037; cv=fail; b=ckOSVrh501WvYdAOizffPUvPG/fAGQVy4tWwE53JrmanXJVjIuv0b1Qq+aTx5qw5o+ArA2NKKcr4aHPokht7w0DgYApTNG9ubF6NffySIvtPMaBB0bZBwEUw6Hm/a2InfpsmB8HZzmKyCLZ+3MQFt56J72urmfYIFH3avzYInPg= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769504037; c=relaxed/simple; bh=Tb9ItUAEqT1vmiyoU2J9dBtmy+C6HLS2BOsXstuqr98=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=JA2AEYZh7jTfvq8s+drNv1u2aoHKGUOXbaB/tPq3+M1G9O4XqrZr2m6C2hFY5azEQ6gfc7ctkh1m86LC+tTIXqB6qfPBKFqpbLU4R8IaK88D9Y3qzr/l50q2WPDyI3iLKOJ3t/mdO8dQ44QcIFw7ApplxkBrludF/q9VzstlfI0= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=pbLybzvN; arc=fail smtp.client-ip=52.101.43.39 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="pbLybzvN" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=uFV2JAG/C+gytpC5OKkqlVWqJMEUqyV18IGpjOQEDQlvPkUs1shGXACfjCp6ZI8EZqVqxXrsZmYyxlreANQ9Q0SmjjJ0dc0NKrcCuLYmnNIXR8OkaMDab8yf7Cls1JFPucqlWl2Zmj5PV7RT1zTqRxiTItrIVSEa9ri9SbC1L7yJojFEGL5jbL3zeNKb9ap7VjvhuzLF1pkyH9EXfUFn64sKkVxzJRpSKeGUPZ9aTwCWfbLkPfnkTwllABZEOA9WHKq+RDNmmUvR665E6inemtgH5cOpn/WyvBHFXTf0/lE1ZV8+O4yCKnqDivOm4JifwKOcV3W7j7RWfEsrzq3exw== 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=pl5vOh6XgP3jIyISGHKDPdQ1T1vClN/cAI6p4HWWpkI=; b=qCMIDPEurpUZ4SrIxuYAEP9vWO7N3WGT5nERMsr3LiXR4Jqa5uxb5nQP+oqiP7mxVrtvJVuNU+923OXk0AW+CgrCa0mNp2AMxqitstRfksOLX5uLVfzAiRTrfwtC7Kk2oW8qZkc0+ef72APHIaayFGj586pRgqAiYgcCa7ReA+v7LSiGP5QR+Xn69NoQWEiT1kNKbRezzSNwL9vBIUZEEOWVcXZzJHU7JP/7DP18zZDUIG2/TqOOvW66Bz5eCciAPo/LRbNdeLVknHTj2v4IGfycVKKDnp+xb+ftYFpOX73JYiKRTKQPWeXZz+Wb6C58CV/0M+4zldbJCj/rU4ArHg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.161) smtp.rcpttodomain=google.com smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=pl5vOh6XgP3jIyISGHKDPdQ1T1vClN/cAI6p4HWWpkI=; b=pbLybzvNgNxkPO16yhrKkBcZ620+9tx76y2SUannzoN1BiUlxN0IH3LHXf+YSIWydWa8TckOcJ6jyNA+IanmdqL6Qw5L8HfIAJ5RTn5I/8QaRMZmmuIl8PMVBYSJyOl2qP1HQOpi3Hd1n+o3WoREFSdzNYatradgdYJwxrETLTU2wayfHADpbJAZvxKZt9zUx9axan1mlGI/ak8r/ravPopT7r6HM5OLsOjDJehPkAA+z8piyFToA5sKpbWt6ZVPWiNrO/YZTeCpK8I8bdWpoGYGq6yvY8IXIx7x1NwDU0Ti/6UqJn3sArXxxUcL+y746usWXidDLo2CyjiggXKyZw== Received: from CH3P221CA0006.NAMP221.PROD.OUTLOOK.COM (2603:10b6:610:1e7::32) by SN7PR12MB8004.namprd12.prod.outlook.com (2603:10b6:806:341::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9542.15; Tue, 27 Jan 2026 08:53:50 +0000 Received: from CH1PEPF0000A348.namprd04.prod.outlook.com (2603:10b6:610:1e7:cafe::3c) by CH3P221CA0006.outlook.office365.com (2603:10b6:610:1e7::32) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9564.7 via Frontend Transport; Tue, 27 Jan 2026 08:53:51 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.161) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.117.161 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.161; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.161) by CH1PEPF0000A348.mail.protection.outlook.com (10.167.244.4) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9564.3 via Frontend Transport; Tue, 27 Jan 2026 08:53:50 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com (10.129.200.67) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.20; Tue, 27 Jan 2026 00:53:30 -0800 Received: from rnnvmail203.nvidia.com (10.129.68.9) by rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.20; Tue, 27 Jan 2026 00:53:28 -0800 Received: from vdi.nvidia.com (10.127.8.10) by mail.nvidia.com (10.129.68.9) with Microsoft SMTP Server id 15.2.2562.20 via Frontend Transport; Tue, 27 Jan 2026 00:53:24 -0800 From: Tariq Toukan To: Eric Dumazet , Jakub Kicinski , Paolo Abeni , Andrew Lunn , "David S. Miller" CC: Saeed Mahameed , Leon Romanovsky , Tariq Toukan , Mark Bloch , , , , Gal Pressman , Moshe Shemesh , Simon Horman , Shay Drory Subject: [PATCH net V2 1/4] net/mlx5: fs, Fix inverted cap check in tx flow table root disconnect Date: Tue, 27 Jan 2026 10:52:38 +0200 Message-ID: <1769503961-124173-2-git-send-email-tariqt@nvidia.com> X-Mailer: git-send-email 2.8.0 In-Reply-To: <1769503961-124173-1-git-send-email-tariqt@nvidia.com> References: <1769503961-124173-1-git-send-email-tariqt@nvidia.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-NV-OnPremToCloud: ExternallySecured X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH1PEPF0000A348:EE_|SN7PR12MB8004:EE_ X-MS-Office365-Filtering-Correlation-Id: 53412a27-78a5-41a1-35dd-08de5d819750 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|1800799024|7416014|376014|36860700013; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?3Ww6RRif+zJ0aJ/rNjwIVxjfSdNnN/GhJmSTLDY1dM/x4jSRBGtWlJ6t8UOB?= =?us-ascii?Q?5INm+OP3JuQRDPzlC3nlWXGse3yXQhjMODESXbvPtRw966FgdQh1lo4unJAn?= =?us-ascii?Q?VZ4C0/FWb3YdRZ8j1pIXz0c58tHRsSyppxRbE8V3tjpGipzhFu9Q51/7BJAP?= =?us-ascii?Q?c2w3qf1QIhYJTCYCyVGQCojpQsh8FOQQShpnqD4V/fTZJmsacVq8eTIB6ltc?= =?us-ascii?Q?qc/7GU1ATFySXWCdhMHfDTHDPYWakjwadexshSb5gYbNwZNVJ2I1K/q5sA7A?= =?us-ascii?Q?5TeCkmc7xhVWYNM6fIrlfAv4zzNBfwYiH0X3/I88zK8bsDIQnnw067lWsRg2?= =?us-ascii?Q?ogk6ssVf63HnttO0trYmbq5P8gRWZoxg20x5v03ZK8gUsDRDRCzlJyMgRD/S?= =?us-ascii?Q?+sCGc9Sx1SfB/N71dksKPbOxz7zlL8Y61DbTt7fCExQDst/B9F0DMT7zlKae?= =?us-ascii?Q?N1sEA2RjAQc+0rIY/AWmhQaMl5BfS2MUfxiBV2BMekQtYwTptDaXqTmV/GTC?= =?us-ascii?Q?YLCXSRO/dIeEYmOLVtccOm8Qgt/ooFBqbzjpR8qTnwzeXRuci9ZJpWnnXvkn?= =?us-ascii?Q?zuxjv8zidp6oYoLjQ4dJMcosETt6ZI80/8RBGoYaHbOyUrooe3vnJnr3qEbH?= =?us-ascii?Q?uKfV3+IeICWnpZvp8eWZ2rviIKlyQ2mVGJiE7dCbmKEmAzER5rHkq29qC1j4?= =?us-ascii?Q?NZIJ6sG3ydmZltBq9sYAylUQQtxeGWz11RcwCt5MytFFJ38ZuGIVxZYGokFK?= =?us-ascii?Q?RZzKhclB6XmRGYXzip7gpwSes4Gvei9ZNfc6lGqbu8om518OUFAEyFDV1vPF?= =?us-ascii?Q?2apNDntoZiecfz5Rx+Ht8IegEWa/sVkvHSNvZ8og4kt8ygN5gi1JbqmOqNrJ?= =?us-ascii?Q?cFgH9LBhRG2vOxJz3IZLbL3DFyOfI2KyIrNa4x8A2C4CFq+URevA4pQWvI7x?= =?us-ascii?Q?uTBQexURv3wYYcKUCSe23EEIXLftSNh2UBIxYB1bkjQLfatdiVyinidyBxaK?= =?us-ascii?Q?ow2nIX+SqD3p1giYMfAezMqgU3rf6NKE/owfqbtRkw+MTGEVJU3qZtvdLNvj?= =?us-ascii?Q?vVnURiina/DkOTjXBMyD5BkLuQU8DvhyiNZXl3sIDPsihKuTRQUJ8TTzYpgU?= =?us-ascii?Q?9WKlOqEnaGaLNxRZEKmUxcuc21OPASuRn0sich6/kcAgTLbL36U24WQX7OSF?= =?us-ascii?Q?rPYY3CygzyKCUgnOhZZujog8suQQk73h4gn+xqaIzNI6uxBnSFM4PNfUqBNl?= =?us-ascii?Q?Gn5oI5DYkc3rLrW46BLg6674he13qpvd6MXPZjyaPomm5/ViTxjGyaJxZX/L?= =?us-ascii?Q?BJ3NRsdHw7N2WP+wQ6hw6N8HiYWipCswbGLP3/PTsja7/jfqb1nYX/o/Xo91?= =?us-ascii?Q?jfar5fVk83lncjstUdx4i6TDLUI1etm7QB2mRJNpCV+flhKQdeWVHWo8AhQs?= =?us-ascii?Q?t+EkWkbHsuAT9DmupRQWWz2Zkt3PG2VUfQkPAcWjACNqu4rckK3oJpq6naZd?= =?us-ascii?Q?VKwNBEamGQqgKbjcEowxwJwuI49yHX6P7rVQOzijHrBMAm9pGr7G90wM1KWT?= =?us-ascii?Q?eE5stiYR7NvMOXIftBJYiuI/Yx1SAgwGDvbQZZrAE04gg5H9zk+XJfT2gJ9y?= =?us-ascii?Q?bqQOUnJnhpGjiZO+LlPJp/GvrSTNX+rzG3f2lVAFgF7XL7EilicHApB/0Fzd?= =?us-ascii?Q?yD674w=3D=3D?= X-Forefront-Antispam-Report: CIP:216.228.117.161;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc6edge2.nvidia.com;CAT:NONE;SFS:(13230040)(82310400026)(1800799024)(7416014)(376014)(36860700013);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2026 08:53:50.2641 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 53412a27-78a5-41a1-35dd-08de5d819750 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.117.161];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: CH1PEPF0000A348.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB8004 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Shay Drory The capability check for reset_root_to_default was inverted, causing the function to return -EOPNOTSUPP when the capability IS supported, rather than when it is NOT supported. Fix the capability check condition. Fixes: 3c9c34c32bc6 ("net/mlx5: fs, Command to control TX flow table root") Signed-off-by: Shay Drory Reviewed-by: Mark Bloch Reviewed-by: Simon Horman Signed-off-by: Tariq Toukan --- drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c b/drivers/net= /ethernet/mellanox/mlx5/core/fs_cmd.c index ced747bef641..c348ee62cd3a 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c @@ -1198,7 +1198,8 @@ int mlx5_fs_cmd_set_tx_flow_table_root(struct mlx5_co= re_dev *dev, u32 ft_id, boo u32 out[MLX5_ST_SZ_DW(set_flow_table_root_out)] =3D {}; u32 in[MLX5_ST_SZ_DW(set_flow_table_root_in)] =3D {}; =20 - if (disconnect && MLX5_CAP_FLOWTABLE_NIC_TX(dev, reset_root_to_default)) + if (disconnect && + !MLX5_CAP_FLOWTABLE_NIC_TX(dev, reset_root_to_default)) return -EOPNOTSUPP; =20 MLX5_SET(set_flow_table_root_in, in, opcode, --=20 2.40.1 From nobody Sat Feb 7 18:29:08 2026 Received: from PH8PR06CU001.outbound.protection.outlook.com (mail-westus3azon11012006.outbound.protection.outlook.com [40.107.209.6]) (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 EE6AD2FD691; Tue, 27 Jan 2026 08:53:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.209.6 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769504038; cv=fail; b=mBfnzK7b0GwpZ2LhatnY7pU50o7e8wbup0fd+Q2Vu5CFUTKtYuMGg5ZAmJUqURLnFSa/Kakw9oDgR1mFLI1TD1Pbi0WpCuCUYcn3+haODL7mSOFiHCqpkTvihldepRaoVF2cLWSYAGJB7VGR8lRbq1UA4KG1BCereYIKyJ+n7d8= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769504038; c=relaxed/simple; bh=8G4NBkWUwOD8wnO2/jZjk5lkEMUPR5sYTqd+FQorb7M=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=ZKszVhoN4bv5AYZFuiRNdkKTzcjEJ+mgi3TgD27MGdx3hUmB9Upyv9dlGJTcPVyAWXeNiPbedbZXMtYdjQRLb+bbF1Qzsm9p0Yuh8vgZUnh7rHIUubPgqSTcyrmVoEn4W0E71dvrT/VCb5jaTLB4MVpLe8F5dg5dQ78lLSe7KpM= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=Tebd+bFy; arc=fail smtp.client-ip=40.107.209.6 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="Tebd+bFy" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=bhxtMBGa7IqbmPXO5qh1lrhw1Bbbnqc1mkUsBkx39JXGpLijVeaOYiErMVFMoW5hR3Q5hQw77ca62bMo9xPprr9mrwTfZ2KolAbYfvduJHMbosY6RxU4nwoKaaEu/29szPWnjaA3MF/jVHhHYcluBLyZ15W/voaGlB3tXQHkLZ7uEu3raPEsMvT+tCa1Vsty/KoZ8iegZy7hX6LVoqrlgsBbd+34CxlK7GwdbEFVgw+pAVgyhmWf/lI6r7Txm4S7LuoWi/C3nnOeW1FJ2yItQbLVlfveD1KSMDuZvzkFxMCBsiQ0yG5olHj+kiWFZDzkghGExiCyiRDdL+5dkeun/Q== 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=bEa1UyQqWY0GwVfPBGM1kJbkcZIJW39/xTM0XKHs1f4=; b=fF4WOBt6lLFssKtBkhgp8VHncCTm9WhYfhe3BMCnkwzkUSrQNHTGccPsOR0JtzKuu5p+8PGP5PyZ0x4NpRBJzGQM1kpQJ3kRzGtBj+SSbjCMLpzlggoKc9TGdEfI4jh5ckSKUNWKzXLMZc17GiGMcXw+sNTw4vE9LHfpZKe2LqJtHwVbCzb74+xVZeShIVTOBN3Vu2wfKU/J7R5HTGpkGp0ugWLCUquSHGgWoiXmfukn9O4pownlTI/eJd2HCgeghHkrtAN0zkg/rh8vJVtglO87wSxIZ+6Bv8a4Q94m0n15sTcP+qcAapS1HAOppU5CtPIn+lasog4FiNk60J6+jQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.161) smtp.rcpttodomain=google.com smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=bEa1UyQqWY0GwVfPBGM1kJbkcZIJW39/xTM0XKHs1f4=; b=Tebd+bFyptNzYP7Ot/2m2nSWhL4l1E0gi+QwoaSvKUD0F3QE1cwsRt2l7gtFqTRwCZJy/MNDRY4RHBxEDbHa6MunSqmUAF8zhZX9WPpvEhy8Pv5qvEfH2K31p2ubNOiBz53qVjC0lm77HB/OQr+NmprOaykPbM+ogSVOlqhXui23EHjXhKKlLRcaEMNy7vQ8l1F9k3/mDqw6BFyzNI64ppo3AivXNshlwTDCXcRwQJYefGsc7iuc2vktcwYxvxwxMHkrQj9QtvopzIhtPK8mP06I+yaulmeUvfYGO+/w8SnLDy/NBtEx2iXryFowLJqRc5YGLsgG/+AmRDYN3BrKgw== Received: from CH2PR04CA0014.namprd04.prod.outlook.com (2603:10b6:610:52::24) by IA1PR12MB9739.namprd12.prod.outlook.com (2603:10b6:208:465::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9542.14; Tue, 27 Jan 2026 08:53:52 +0000 Received: from CH1PEPF0000A345.namprd04.prod.outlook.com (2603:10b6:610:52:cafe::bf) by CH2PR04CA0014.outlook.office365.com (2603:10b6:610:52::24) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9564.7 via Frontend Transport; Tue, 27 Jan 2026 08:53:51 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.161) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.117.161 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.161; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.161) by CH1PEPF0000A345.mail.protection.outlook.com (10.167.244.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9564.3 via Frontend Transport; Tue, 27 Jan 2026 08:53:52 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com (10.129.200.67) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.20; Tue, 27 Jan 2026 00:53:35 -0800 Received: from rnnvmail203.nvidia.com (10.129.68.9) by rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.20; Tue, 27 Jan 2026 00:53:33 -0800 Received: from vdi.nvidia.com (10.127.8.10) by mail.nvidia.com (10.129.68.9) with Microsoft SMTP Server id 15.2.2562.20 via Frontend Transport; Tue, 27 Jan 2026 00:53:29 -0800 From: Tariq Toukan To: Eric Dumazet , Jakub Kicinski , Paolo Abeni , Andrew Lunn , "David S. Miller" CC: Saeed Mahameed , Leon Romanovsky , Tariq Toukan , Mark Bloch , , , , Gal Pressman , Moshe Shemesh , Simon Horman , Cosmin Ratiu Subject: [PATCH net V2 2/4] net/mlx5: Fix deadlock between devlink lock and esw->wq Date: Tue, 27 Jan 2026 10:52:39 +0200 Message-ID: <1769503961-124173-3-git-send-email-tariqt@nvidia.com> X-Mailer: git-send-email 2.8.0 In-Reply-To: <1769503961-124173-1-git-send-email-tariqt@nvidia.com> References: <1769503961-124173-1-git-send-email-tariqt@nvidia.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-NV-OnPremToCloud: ExternallySecured X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH1PEPF0000A345:EE_|IA1PR12MB9739:EE_ X-MS-Office365-Filtering-Correlation-Id: fa8cb76d-60f8-4659-3592-08de5d8198a7 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|1800799024|376014|7416014|36860700013; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?2PLozsFMR/Apg/5uOt54OnddUWzrHt5DpiIET2OqOYRh7GrXgJOZ3/+IKXMX?= =?us-ascii?Q?csmBp4CXi5PTDvPFeBL+LNcW6242eYJuPEOoqt24QLRcr9mFu+7X7LgHtiXu?= =?us-ascii?Q?AVdQ3Wltj+GLUUAeqIaU1I3YqJgiymxAuQYyEo4q+5IluPj335ET2RURO+F3?= =?us-ascii?Q?w4EYSBVso6hpsJYPqd39wOlNSGxYI+qa2tS8nSb9CQjhcf2O/gBaAsaPmRz3?= =?us-ascii?Q?INvH7UJdldc+QhJpCaBwk4G4q2J0kspf4JGAhsXKTfomNkMljkTULB1S+zTa?= =?us-ascii?Q?ORxcVIgC24CyktAl59vMjlGzioRlv7f1fMqBgT5eSrQ+m8AleaeTH9BM6ExY?= =?us-ascii?Q?bKlzhqq99fHGc24GlYvVZ2LRQfoLO5H+o72PZMn0/XlUfft0eshtcOOY9akn?= =?us-ascii?Q?77mxzk+0ExoIPMbmL+pPTWbeu8RfKa1H7+BCqDnLV07it4zFm2Dgwb+2slfI?= =?us-ascii?Q?76yI59ebdmvZKLI0uc3Qpn8gEUyusgEBIMpo1zcJb7CHtR82gE5+fH1sy7zJ?= =?us-ascii?Q?oIveYxc4MtU8EjDgVy0CE6prYxjko78OC0waH3yWQnzqendz0Mw+DamWY+c6?= =?us-ascii?Q?mpcJTOmbvA9BpN2qA/0Ntq09nwzPSfwjn0PgdiHuqIu+FoXAOhfIPSB0GsyV?= =?us-ascii?Q?iRO48U+8it7YrTRnctUAlksjMQbLKRAN7u0tnV3m1a5xFtWzB/EJNNcNJnDz?= =?us-ascii?Q?msUb9+uToNkwiPu0rTVyHkwzsM0k9gnx4cUHbKFVAPoLmLesztK8xnKd2ur+?= =?us-ascii?Q?hUKBj+emVe0oPW8g0/iib618zRMT4JSoiS+kTVGOzB9GFyZcALDJpGjaVVz7?= =?us-ascii?Q?H3ODrObn9XYv2YxObemKXF3uvZzOQG9CxE/WaLvb4YsfstqPcIXvy2HoxCAa?= =?us-ascii?Q?WCwwxgGjnexyL8a9+YALTEW+NSoRraHPI1z3ghiAVM/FZJUDFCi3Z3+4dmIr?= =?us-ascii?Q?GruhJGpcSoJdibTjBTMfsL8vgPUY+rx02U82yA8TqSxqziXBXfZPvkUF0Ltr?= =?us-ascii?Q?+m7lCLPiV16fgTSIh1aFlexgM4Fu70bHyLcsEPlDjLiREBiAXnVsgFZq83Uy?= =?us-ascii?Q?nBQ9xTlNwJDlf3NeDDirujWwGz2BXzGe17uUuV6jtM3OhnGR+la2z/njcl05?= =?us-ascii?Q?X4aGLJ7pob9mf94FLFjjKBBkcC8NvzbgArlz4Rznfn/TaEOGCNRhZvC9hXOj?= =?us-ascii?Q?TcUuNHZT7ifskbA4d9BM9kE2GQmap46vGoC8afYGzsz6f0NF43TCjeYrYhwv?= =?us-ascii?Q?SELJhtr0o79s/Kuyd6nf02TZszC4ICtT3D2czLdcLwhyiAVRzn7zdK0BQ1Iy?= =?us-ascii?Q?2giQ2elTjPnrdhu9pAkvnbJDXpuibF8fyU4n0y4h3CWLb8rbbwMLSGoymLa5?= =?us-ascii?Q?IQaBr68MRdDRu2mWdEEW8ODsxRDosjtimYfEVrHaCy4PxSEIIAMGMP6UU1Dl?= =?us-ascii?Q?MAVwKwjAXhySDU4lm+0S2o4Dxzfal47XViv76PHERBKeoVNLYI/glRJ84Zoy?= =?us-ascii?Q?5+qQWEw7FqwasFCYnz5hzPXUafM2sakDAGFIt4tkkeSms/JIi3DtH7yQmZDa?= =?us-ascii?Q?Oc8rMldpnTO6Eh4ilZNmzu1Ef0zm+oM5v+AkusFkENVykwZf0xEn7n37URPR?= =?us-ascii?Q?KlExzBvMPOiuKfBVqGMgyrG467qkJMyqEMuEfb5Lrl8Z6pRURLTuIalayBmd?= =?us-ascii?Q?IhadeQ=3D=3D?= X-Forefront-Antispam-Report: CIP:216.228.117.161;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc6edge2.nvidia.com;CAT:NONE;SFS:(13230040)(82310400026)(1800799024)(376014)(7416014)(36860700013);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2026 08:53:52.4722 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: fa8cb76d-60f8-4659-3592-08de5d8198a7 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.117.161];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: CH1PEPF0000A345.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB9739 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Cosmin Ratiu esw_functions_changed_event_handler -> esw_vfs_changed_event_handler is called from the esw->work_queue and acquires the devlink lock. Changing the esw mode is done via .eswitch_mode_set (acquires devlink lock in the devlink_nl_pre_doit call) -> mlx5_devlink_eswitch_mode_set -> mlx5_eswitch_disable_locked -> mlx5_eswitch_event_handler_unregister -> flush_workqueue. This creates a circular lock dependency which could lead to a real deadlock, as the code flushing the workqueue is holding the devlink lock, and the work handler being flushed could try to acquire it. Fix that by adding a new bool field 'notifier_enabled' next to the event handler scheduling the work, keeping it true while the notifier is active, and using it to repeatedly try to acquire the devlink lock from the work handler while true, with a slight delay to avoid busy looping. This avoids the deadlock because the event handler will be removed first (turning 'notifier_enabled' false), and the work handler will eventually give up in acquiring the lock because the work is no longer necessary. Fixes: f1bc646c9a06 ("net/mlx5: Use devl_ API in mlx5_esw_offloads_devlink_= port_register") Signed-off-by: Cosmin Ratiu Reviewed-by: Moshe Shemesh Reviewed-by: Dragos Tatulea Reviewed-by: Simon Horman Signed-off-by: Tariq Toukan --- drivers/net/ethernet/mellanox/mlx5/core/eswitch.c | 6 +++++- drivers/net/ethernet/mellanox/mlx5/core/eswitch.h | 1 + .../ethernet/mellanox/mlx5/core/eswitch_offloads.c | 12 +++++++++++- 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c b/drivers/ne= t/ethernet/mellanox/mlx5/core/eswitch.c index 4b7a1ce7f406..fddc3b33222d 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c @@ -1066,14 +1066,18 @@ static void mlx5_eswitch_event_handler_register(str= uct mlx5_eswitch *esw) if (esw->mode =3D=3D MLX5_ESWITCH_OFFLOADS && mlx5_eswitch_is_funcs_handl= er(esw->dev)) { MLX5_NB_INIT(&esw->esw_funcs.nb, mlx5_esw_funcs_changed_handler, ESW_FUNCTIONS_CHANGED); + esw->esw_funcs.notifier_enabled =3D true; mlx5_eq_notifier_register(esw->dev, &esw->esw_funcs.nb); } } =20 static void mlx5_eswitch_event_handler_unregister(struct mlx5_eswitch *esw) { - if (esw->mode =3D=3D MLX5_ESWITCH_OFFLOADS && mlx5_eswitch_is_funcs_handl= er(esw->dev)) + if (esw->mode =3D=3D MLX5_ESWITCH_OFFLOADS && + mlx5_eswitch_is_funcs_handler(esw->dev)) { + esw->esw_funcs.notifier_enabled =3D false; mlx5_eq_notifier_unregister(esw->dev, &esw->esw_funcs.nb); + } =20 flush_workqueue(esw->work_queue); } diff --git a/drivers/net/ethernet/mellanox/mlx5/core/eswitch.h b/drivers/ne= t/ethernet/mellanox/mlx5/core/eswitch.h index e7fe43799b23..af35312a8ced 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/eswitch.h +++ b/drivers/net/ethernet/mellanox/mlx5/core/eswitch.h @@ -338,6 +338,7 @@ struct mlx5_host_work { =20 struct mlx5_esw_functions { struct mlx5_nb nb; + bool notifier_enabled; bool host_funcs_disabled; u16 num_vfs; u16 num_ec_vfs; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c b/d= rivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c index ea94a727633f..0199bea2cb31 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c @@ -3597,7 +3597,17 @@ esw_vfs_changed_event_handler(struct mlx5_eswitch *e= sw, const u32 *out) return; =20 devlink =3D priv_to_devlink(esw->dev); - devl_lock(devlink); + /* Repeatedly try to grab the lock with a delay while this work is + * still relevant. + * This allows a concurrent mlx5_eswitch_event_handler_unregister + * (holding the devlink lock) to flush the wq without deadlocking. + */ + while (!devl_trylock(devlink)) { + if (!esw->esw_funcs.notifier_enabled) + return; + schedule_timeout_interruptible(msecs_to_jiffies(10)); + } + /* Number of VFs can only change from "0 to x" or "x to 0". */ if (esw->esw_funcs.num_vfs > 0) { mlx5_eswitch_unload_vf_vports(esw, esw->esw_funcs.num_vfs); --=20 2.40.1 From nobody Sat Feb 7 18:29:08 2026 Received: from CY7PR03CU001.outbound.protection.outlook.com (mail-westcentralusazon11010020.outbound.protection.outlook.com [40.93.198.20]) (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 BE1DB328B75; Tue, 27 Jan 2026 08:54:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.93.198.20 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769504047; cv=fail; b=HsPRUeR6Njhfvc19lsUGdk691eKSuoqq/kSbFo9GIl+RhMc4V5aIpW8VyUCzUkQrJYrMVO/xyR30MhMVf5IeONK3iSLD3dbfdaOaEygdAE7D4vrGk+WYfSrr904tYG4Gh5CyYw+txLfe5158pgAl9tcaLnx4cwItHVmXPX8JU/4= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769504047; c=relaxed/simple; bh=r60zWTWNOZ03g63uwYUkpmnru7A//xnbfK39zF/OAHA=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=bInQDCEZM6x13uXy3L7RKInAstx8CNgeGE9y87G9/4Y7O4qY3W7rRdipbnjy+N9E5s8FfA+xQHWhwPLixs2eVV43HgdlRtbavBuTDNl3MI26Pzu3Zib3Md1GuG3Mxof8Tz8PWx98KyYytxlHsRl13kxgpFB4H5nGgMRtU5+arOo= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=YXIDMLPJ; arc=fail smtp.client-ip=40.93.198.20 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="YXIDMLPJ" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=jexngFItvVl+0YB64urmDRuWqrlSyd5jxGyuyQu+inab1lLl0WUkI5OWJw4BLNlbzgDPU+f4wg2IY51vkm6a04EBs7cKcKjf1lIBdLaGjez9zevENvuOuqBXYvvIuT+EeG+MhrD+jpXqVqN7KecQ4cXcROtVo40p6rkKXi7MrFQxrwuL16wpXcHY0pTdv6qsZIBjQkXyN57IQ/XAIds5SAIGcbEi/8+yeAtHWQUM4NQo/AscQX0V32HZJvCJUQBhakvhQrTQWyhJ930BqDNVbuD4Y/IzNShT/LkUE6eU6SlJ/W6nteQsPg83g4ysOmMEEUAEEz/AZ2fd4BNR3nqRyw== 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=tteQeqELtDYsm+k9zaOjddEd4vVKRDzWSvF1MAbVUMo=; b=RhJk79F3awMaRLbVxFTcf0/omBVCBVxLUG8LzrjZGyhklaYfUNGKLalNDQObtt36ox2Os5HazogxwUU3o9Z9njvYYo47eyDUiA0QHYZww2Te1MbXf1bqSZ2UaeO5aTiUw8rV9RFqMt6jZX7GDzPszD0QLLrhWcALEdHKapOVBvYFVTtcDAmrde/UBygVEZFep+gQoNgDE2wk34l5nOUauUo+sH99QN6q27JYLkc+1rAhpCaYt2InZvZGtuSWYjXS2YkrTVbqyl098JquKYn2w3neNXB+blopJ0hOXVzD9wKO2E79V/QtQ1IO5t6s5RBNUU0B2OnmSfQ4HQ/rc0E5pg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.160) smtp.rcpttodomain=google.com smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=tteQeqELtDYsm+k9zaOjddEd4vVKRDzWSvF1MAbVUMo=; b=YXIDMLPJSZm71s5w8Shme2mnmxx3bJst/jDeFvphPvEPkyyoCbz+3quS9domzHaDAYzOfGXuU1kJSLOHA0gTqWft/QpEF+V8qaK2DMKpcNpLGnosNWiY6vAwWo/G/PQ3Nx5l4jnUFMIEUrnrdWVc6rYZ6e5chw4bsBgx7YQEpJDrGI0Qvjsi4YwiGms+auUezz1z/b8w23ZWf4rDInyv0kLKhnTC82S4G84Omkq5VvYtvcY0q0NvfxyMKk+6AytpCE0TOWUal+OhvqjmsOvw7nDyAc1otYNNNlw5S1IyRlbHUnIf27TwAwv6KOKpbmaosk7nfTS60lUxx1K0mLwMWA== Received: from BL1PR13CA0417.namprd13.prod.outlook.com (2603:10b6:208:2c2::32) by DM4PR12MB6303.namprd12.prod.outlook.com (2603:10b6:8:a3::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9542.16; Tue, 27 Jan 2026 08:53:57 +0000 Received: from BN3PEPF0000B06A.namprd21.prod.outlook.com (2603:10b6:208:2c2:cafe::71) by BL1PR13CA0417.outlook.office365.com (2603:10b6:208:2c2::32) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9564.7 via Frontend Transport; Tue, 27 Jan 2026 08:54:01 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.160) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.117.160 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.160; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.160) by BN3PEPF0000B06A.mail.protection.outlook.com (10.167.243.69) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9587.0 via Frontend Transport; Tue, 27 Jan 2026 08:53:56 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com (10.129.200.66) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.20; Tue, 27 Jan 2026 00:53:40 -0800 Received: from rnnvmail203.nvidia.com (10.129.68.9) by rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.20; Tue, 27 Jan 2026 00:53:38 -0800 Received: from vdi.nvidia.com (10.127.8.10) by mail.nvidia.com (10.129.68.9) with Microsoft SMTP Server id 15.2.2562.20 via Frontend Transport; Tue, 27 Jan 2026 00:53:34 -0800 From: Tariq Toukan To: Eric Dumazet , Jakub Kicinski , Paolo Abeni , Andrew Lunn , "David S. Miller" CC: Saeed Mahameed , Leon Romanovsky , Tariq Toukan , Mark Bloch , , , , Gal Pressman , Moshe Shemesh , Simon Horman , Parav Pandit Subject: [PATCH net V2 3/4] net/mlx5: Fix vhca_id access call trace use before alloc Date: Tue, 27 Jan 2026 10:52:40 +0200 Message-ID: <1769503961-124173-4-git-send-email-tariqt@nvidia.com> X-Mailer: git-send-email 2.8.0 In-Reply-To: <1769503961-124173-1-git-send-email-tariqt@nvidia.com> References: <1769503961-124173-1-git-send-email-tariqt@nvidia.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-NV-OnPremToCloud: ExternallySecured X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN3PEPF0000B06A:EE_|DM4PR12MB6303:EE_ X-MS-Office365-Filtering-Correlation-Id: 71adcd9b-fcf9-40ea-cf55-08de5d819b05 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|1800799024|7416014|376014|36860700013; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?utg8hbvDMmJ5dTS5F3cW67DSYJ44GeWX8B+cbLN8ILtLCEF/EEl3hMA1yJUS?= =?us-ascii?Q?Owyt/wuUo5iYrzN+7Y5xkacHN79kah8/gi3gpd098KgnwtT8P3CjX4jFLibq?= =?us-ascii?Q?4B9Q0NlmhOCD5HzbLLobrxEhGWNwn8p/tyOcMiaEQ6rORCOfZzAIh9vq/XD1?= =?us-ascii?Q?uhPIqZK9sF3jX2+1MSiWv11rVmik8dLvsmQn514EtZHys+brPyGfB5ksbO9+?= =?us-ascii?Q?rvtJD/x9AKBnePJUsQ2o86vUPD3pgr/5Zx1KKEoR3QCBSuMRfsDv2+QeKQM9?= =?us-ascii?Q?UpjzkEMZ1kg053aZSixeN3ffhytLYSzVfYku2w9oJdfEHJ10qvZT5dT2RWWU?= =?us-ascii?Q?3mNLR8MfFTXysDfHNhSSA/RV3i+LZUsC7FxMQydlj+9pfpmxZnUwdCXDlJT6?= =?us-ascii?Q?+d7pmBJArMJVKlhErxL25bL/kWH4yWqdItXzhZERka8ue8lyJErqa1xN7NvT?= =?us-ascii?Q?+FSAw+swrMeq3EFMjjoM8ix2FcWcm/t/LUxv7MPEyqEVwr043KhkwbGYBNT3?= =?us-ascii?Q?ivu5CdC4umHr5IoE42tFYSzX0zXhWmE+GI6nLL9JheRXTN4//QgvsDbYQlwu?= =?us-ascii?Q?he7hDAhpBc7s8wS41zBsSxWTbqs8a90yjWv8Mxq03N6Ky45nUc61jVfAr/dV?= =?us-ascii?Q?qeyebJMOMKk4POEzEVX9nP3NHRz63wF26AnW9thI1RddM1p5Ax0vp7r3YygU?= =?us-ascii?Q?ltMeRg62A9u3jr52oEi09NJeBXpfp928VYtI7OGL8TpQwzYHxVNDnjMfYvcO?= =?us-ascii?Q?MCUviB3kiiya5uWuxwkH4RcJsl0EXd4LXuaf5eegDFrWOrIy6RnHRSMuvan9?= =?us-ascii?Q?HWzsiJIl+sFJ6D1gnWHDfDmD+zJgIZ84RBoJIZNPlhj3ZMQsvglVwehyYfw7?= =?us-ascii?Q?LEsQGiFstcBPlyMUxX/sjkxFIQAkRhB3TxmSXWtAJq9UZ7Wey92+6rsXij1Q?= =?us-ascii?Q?O3Nmo5LNRUoaQOG2Oj4XH/odDnIbKtPGkrhfRm3OksUQM6IH9pyZUQjiFRvd?= =?us-ascii?Q?MHjKEya3Z/IoR4qZ+r6rTDEopEstncYuTNd9ok83yR3wibZBLSsLp5X9OG8O?= =?us-ascii?Q?x4J1oLSO5eeBPctNxglOTP5/oD0yertbXgoNP5ntmGkDvw3OncW/v9a9aGpK?= =?us-ascii?Q?ew8DAtY+ApJFnG+kt46O0Yneo6Jn1S9/nM5O5JLro1yyIhGIYPENsYvzyCPa?= =?us-ascii?Q?tsuzXU0uIW9YS89LeVWfkVlR52uO07fEeOq4nfbOYTjFShxwgXIXbRrA+DC/?= =?us-ascii?Q?orAcwMsmSSQ47yJM1s2jPc8nsp+42Lig/mYrq/x6ErE92k2ZhJaGulra81EL?= =?us-ascii?Q?bZrVNcUvUeROK0Le4t91jkbAXCTKHF7G6bHNgh18Viv2qVK/KxaS9mZpXmko?= =?us-ascii?Q?pf8DSXXGxmhArqyFKMwwsD60EHYTW1Mou82xBrWJb2+Ur0AuUtBxCI2vpNuG?= =?us-ascii?Q?DYGo/pRoCgQFnOVn5csoARVYbkul2hbPc+XZ9O471OYftH+mzeTPYq4MFEio?= =?us-ascii?Q?K/65sOPYghXr54n2PCX9AUVEoJE7ZNzqRTtyA+qZUcBjcu43XlRkoYO8WadG?= =?us-ascii?Q?Gsv6GkTQbY0sfrp52p4ETb3PWXwt50Dt4M+3HI6nOwSUJS11nuVp3yzlYo86?= =?us-ascii?Q?9o26r1NE54vBTSRx4QcT79EPyvt/FrSIvVuqynLsIWLUoEVaOwJcQ8kofSw3?= =?us-ascii?Q?x4Aibg=3D=3D?= X-Forefront-Antispam-Report: CIP:216.228.117.160;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc6edge1.nvidia.com;CAT:NONE;SFS:(13230040)(82310400026)(1800799024)(7416014)(376014)(36860700013);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2026 08:53:56.4227 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 71adcd9b-fcf9-40ea-cf55-08de5d819b05 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.117.160];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: BN3PEPF0000B06A.namprd21.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB6303 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Parav Pandit HCA CAP structure is allocated in mlx5_hca_caps_alloc(). mlx5_mdev_init() mlx5_hca_caps_alloc() And HCA CAP is read from the device in mlx5_init_one(). The vhca_id's debugfs file is published even before above two operations are done. Due to this when user reads the vhca id before the initialization, following call trace is observed. Fix this by deferring debugfs publication until the HCA CAP is allocated and read from the device. BUG: kernel NULL pointer dereference, address: 0000000000000004 PGD 0 P4D 0 Oops: Oops: 0000 [#1] SMP PTI CPU: 23 UID: 0 PID: 6605 Comm: cat Kdump: loaded Not tainted 6.18.0-rc7-sf+= #110 PREEMPT(full) Hardware name: Supermicro SYS-6028U-TR4+/X10DRU-i+, BIOS 2.0b 08/09/2016 RIP: 0010:vhca_id_show+0x17/0x30 [mlx5_core] Code: cb 66 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 0f 1f 44 00 = 00 48 8b 47 70 48 c7 c6 45 f0 12 c1 48 8b 80 70 03 00 00 <8b> 50 04 0f ca 0= f b7 d2 e8 8c 82 47 cb 31 c0 c3 cc cc cc cc 0f 1f RSP: 0018:ffffd37f4f337d40 EFLAGS: 00010203 RAX: 0000000000000000 RBX: ffff8f18445c9b40 RCX: 0000000000000001 RDX: ffff8f1109825180 RSI: ffffffffc112f045 RDI: ffff8f18445c9b40 RBP: 0000000000000000 R08: 0000645eac0d2928 R09: 0000000000000006 R10: ffffd37f4f337d48 R11: 0000000000000000 R12: ffffd37f4f337dd8 R13: ffffd37f4f337db0 R14: ffff8f18445c9b68 R15: 0000000000000001 FS: 00007f3eea099580(0000) GS:ffff8f2090f1f000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000000000004 CR3: 00000008b64e4006 CR4: 00000000003726f0 Call Trace: seq_read_iter+0x11f/0x4f0 ? _raw_spin_unlock+0x15/0x30 ? do_anonymous_page+0x104/0x810 seq_read+0xf6/0x120 ? srso_alias_untrain_ret+0x1/0x10 full_proxy_read+0x5c/0x90 vfs_read+0xad/0x320 ? handle_mm_fault+0x1ab/0x290 ksys_read+0x52/0xd0 do_syscall_64+0x61/0x11e0 entry_SYSCALL_64_after_hwframe+0x76/0x7e Fixes: dd3dd7263cde ("net/mlx5: Expose vhca_id to debugfs") Signed-off-by: Parav Pandit Reviewed-by: Shay Drori Reviewed-by: Simon Horman Signed-off-by: Tariq Toukan --- .../net/ethernet/mellanox/mlx5/core/debugfs.c | 16 ++++++++++++++++ drivers/net/ethernet/mellanox/mlx5/core/main.c | 14 +++----------- .../net/ethernet/mellanox/mlx5/core/mlx5_core.h | 1 + .../ethernet/mellanox/mlx5/core/sf/dev/driver.c | 1 + 4 files changed, 21 insertions(+), 11 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/debugfs.c b/drivers/ne= t/ethernet/mellanox/mlx5/core/debugfs.c index 36806e813c33..1301c56e20d6 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/debugfs.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/debugfs.c @@ -613,3 +613,19 @@ void mlx5_debug_cq_remove(struct mlx5_core_dev *dev, s= truct mlx5_core_cq *cq) cq->dbg =3D NULL; } } + +static int vhca_id_show(struct seq_file *file, void *priv) +{ + struct mlx5_core_dev *dev =3D file->private; + + seq_printf(file, "0x%x\n", MLX5_CAP_GEN(dev, vhca_id)); + return 0; +} + +DEFINE_SHOW_ATTRIBUTE(vhca_id); + +void mlx5_vhca_debugfs_init(struct mlx5_core_dev *dev) +{ + debugfs_create_file("vhca_id", 0400, dev->priv.dbg.dbg_root, dev, + &vhca_id_fops); +} diff --git a/drivers/net/ethernet/mellanox/mlx5/core/main.c b/drivers/net/e= thernet/mellanox/mlx5/core/main.c index 4209da722f9a..55b4e0cceae2 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/main.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/main.c @@ -1806,16 +1806,6 @@ static int mlx5_hca_caps_alloc(struct mlx5_core_dev = *dev) return -ENOMEM; } =20 -static int vhca_id_show(struct seq_file *file, void *priv) -{ - struct mlx5_core_dev *dev =3D file->private; - - seq_printf(file, "0x%x\n", MLX5_CAP_GEN(dev, vhca_id)); - return 0; -} - -DEFINE_SHOW_ATTRIBUTE(vhca_id); - static int mlx5_notifiers_init(struct mlx5_core_dev *dev) { int err; @@ -1884,7 +1874,7 @@ int mlx5_mdev_init(struct mlx5_core_dev *dev, int pro= file_idx) priv->numa_node =3D dev_to_node(mlx5_core_dma_dev(dev)); priv->dbg.dbg_root =3D debugfs_create_dir(dev_name(dev->device), mlx5_debugfs_root); - debugfs_create_file("vhca_id", 0400, priv->dbg.dbg_root, dev, &vhca_id_fo= ps); + INIT_LIST_HEAD(&priv->traps); =20 err =3D mlx5_cmd_init(dev); @@ -2022,6 +2012,8 @@ static int probe_one(struct pci_dev *pdev, const stru= ct pci_device_id *id) goto err_init_one; } =20 + mlx5_vhca_debugfs_init(dev); + pci_save_state(pdev); return 0; =20 diff --git a/drivers/net/ethernet/mellanox/mlx5/core/mlx5_core.h b/drivers/= net/ethernet/mellanox/mlx5/core/mlx5_core.h index cfebc110c02f..6d41d2e5a278 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/mlx5_core.h +++ b/drivers/net/ethernet/mellanox/mlx5/core/mlx5_core.h @@ -258,6 +258,7 @@ int mlx5_wait_for_pages(struct mlx5_core_dev *dev, int = *pages); void mlx5_cmd_flush(struct mlx5_core_dev *dev); void mlx5_cq_debugfs_init(struct mlx5_core_dev *dev); void mlx5_cq_debugfs_cleanup(struct mlx5_core_dev *dev); +void mlx5_vhca_debugfs_init(struct mlx5_core_dev *dev); =20 int mlx5_query_pcam_reg(struct mlx5_core_dev *dev, u32 *pcam, u8 feature_g= roup, u8 access_reg_group); diff --git a/drivers/net/ethernet/mellanox/mlx5/core/sf/dev/driver.c b/driv= ers/net/ethernet/mellanox/mlx5/core/sf/dev/driver.c index b706f1486504..c45540fe7d9d 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/sf/dev/driver.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/sf/dev/driver.c @@ -76,6 +76,7 @@ static int mlx5_sf_dev_probe(struct auxiliary_device *ade= v, const struct auxilia goto init_one_err; } =20 + mlx5_vhca_debugfs_init(mdev); return 0; =20 init_one_err: --=20 2.40.1 From nobody Sat Feb 7 18:29:08 2026 Received: from DM5PR21CU001.outbound.protection.outlook.com (mail-centralusazon11011032.outbound.protection.outlook.com [52.101.62.32]) (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 329A62FD691; Tue, 27 Jan 2026 08:54:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.62.32 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769504045; cv=fail; b=CgQS3f0nwlSTYv0AFvInsHNzhjamYk7u5IHoyU0Mbhfxl1WIfnTpdKuNoHYICpAftq5V1ehKHcYQXigCDRM6IR22GeqaYOlZqGyNAMbEf3gDF2ENeVcZC2Yx40Oz9BbHsVRqH2NSXB5g81v2i5FRGe4YPdX2DRZzdBLa3chCyVw= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769504045; c=relaxed/simple; bh=s5pCExdze6GQSlBOf4Dvw9JS2H06tfajyQdxQmn7jRY=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=ZQD8vSfFqvnzSJTLnn2y0QCl6zFyzDvO694BjZ2skHrCeivSQ+B1qLDR/y0PA04ytzJNq1joyF2FOHqrXhv+SLQLLJvIu0Mp2xBIsQWDawijiLRoxFB9SZoEUbvWdrOJ+qrObiqiCPSRKwNuiPiDsg7pbUNy3/fDmaxBe2vr7as= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=cFsGS/h2; arc=fail smtp.client-ip=52.101.62.32 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="cFsGS/h2" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=wz/LYqytYYlWCSOqB2M3I0/6LSpvWZVu8RK6ja8Rq5Yr7/mt6SqJ1lkfrAeNpJi/8+hK6bPBrZp29mKfsxaiPRopDGdubdds1H6pPRxVai+XnQQRLjBSnV5rfKyJJDdOL9aklWuA+3kTeE+9Fq/cZHGdm2V3lltxdiVC/RiTIJkEcav1m5S6iJTG9xlMHNCKafl73H1kQlqnB3Pk/DwhOwfYr+TdjQv7VhuoIvFH9IdWDHXWfGEJorOouXG3mwJgxvkzDYVzCR8W5LXhlohJzSaR34EYneN2wnFqHY4Lkk1szGwS7HwaHHsVBk1yIwW73WAbR7ny7AP4P2q5onsd5w== 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=Lnce6PEkkoRV/Z6rz8FsVnKjH9FnzRxO+ka0pP3oYhk=; b=hmoDc5M+XkVEIGBdIqCa1tIKSLCOZfAjjTxJmQaQWqOMl/kaZQhw6NWLfnhfA3bJqCRoeGwQZ7bmQf4NAcVDfMXv5MIpVvmP/yTF3CvyJqQIjbDkfioCBVdODLOddK1ZHs6lcVi0cZ9+Vvm8oVCSCfgTyF6DJ+aaK7ABwDxdOaMyedADXYPUmdL+g0juWQ9kngy846GOYbLJ7BNs8DRsPA5mBtVKNpQubyNwqFyozKy5pe4k6Y4k2FyaReQJbbq0/+8dioPZaoYV6RaUp7oQCl1rUajWg2jVwSee2tOoBW5jvahEpql44T/gTs/+Qc7EcsCubt7jt6EoGefJW6MvhQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.161) smtp.rcpttodomain=google.com smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Lnce6PEkkoRV/Z6rz8FsVnKjH9FnzRxO+ka0pP3oYhk=; b=cFsGS/h2heTUN0BCYZEVfrD09cnfbsA4G7mdP3sWI83ASaLsddLtCMqh5G9psGM7RyIepvnb2rfHLYXU/4WQB3IjaWy68Vd5AjNUPymqQVSskEW/VzbXIhPiB3vvrWChW61fGwJtMc/+qSebcNpTbj3HjLnl7Dx0ET4TVlu3ou4SV9guFjgpYht2J3PAknQy/WZ1/ax+E7rreUJfNBWqckD5JNpNUqAwD8m7eRA9xIkOV4c7sF5p/dhE+Pn9VjMWcu/OhNL1mWvFug3vtKywZoRrJRnKbJ9ANlT9AksiZOP5FJ07e3rCsIuPOQEvGEbwqKvsB0EiQs7a5hUmdEKGwA== Received: from CH3P221CA0007.NAMP221.PROD.OUTLOOK.COM (2603:10b6:610:1e7::9) by LV8PR12MB9620.namprd12.prod.outlook.com (2603:10b6:408:2a1::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9542.16; Tue, 27 Jan 2026 08:53:59 +0000 Received: from CH1PEPF0000A348.namprd04.prod.outlook.com (2603:10b6:610:1e7:cafe::44) by CH3P221CA0007.outlook.office365.com (2603:10b6:610:1e7::9) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9564.7 via Frontend Transport; Tue, 27 Jan 2026 08:54:00 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.161) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.117.161 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.161; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.161) by CH1PEPF0000A348.mail.protection.outlook.com (10.167.244.4) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9564.3 via Frontend Transport; Tue, 27 Jan 2026 08:53:59 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com (10.129.200.67) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.20; Tue, 27 Jan 2026 00:53:45 -0800 Received: from rnnvmail203.nvidia.com (10.129.68.9) by rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.20; Tue, 27 Jan 2026 00:53:44 -0800 Received: from vdi.nvidia.com (10.127.8.10) by mail.nvidia.com (10.129.68.9) with Microsoft SMTP Server id 15.2.2562.20 via Frontend Transport; Tue, 27 Jan 2026 00:53:40 -0800 From: Tariq Toukan To: Eric Dumazet , Jakub Kicinski , Paolo Abeni , Andrew Lunn , "David S. Miller" CC: Saeed Mahameed , Leon Romanovsky , Tariq Toukan , Mark Bloch , , , , Gal Pressman , Moshe Shemesh , Simon Horman , Jianbo Liu Subject: [PATCH net V2 4/4] net/mlx5e: Skip ESN replay window setup for IPsec crypto offload Date: Tue, 27 Jan 2026 10:52:41 +0200 Message-ID: <1769503961-124173-5-git-send-email-tariqt@nvidia.com> X-Mailer: git-send-email 2.8.0 In-Reply-To: <1769503961-124173-1-git-send-email-tariqt@nvidia.com> References: <1769503961-124173-1-git-send-email-tariqt@nvidia.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-NV-OnPremToCloud: ExternallySecured X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH1PEPF0000A348:EE_|LV8PR12MB9620:EE_ X-MS-Office365-Filtering-Correlation-Id: 4acc08d0-b5df-420d-2d41-08de5d819cc4 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|376014|36860700013|82310400026|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?pUh07Q/g0jgKmh4HGsvspisni+FnXGkpJDB7faJ+zNjOPWI3d2pzZrfdYNAA?= =?us-ascii?Q?fViTL0VmfQ2FfPiOpAojjU5zctYNEdxf83zurtG82ep6r7LzxOicBkukZc5W?= =?us-ascii?Q?DMtuwsJ3BJgxToLPRtUQ8+hGsA5C87A0H2l46+1rZPRMu7o47p1X0Xd5xy6B?= =?us-ascii?Q?hc8DB1TjsOVpS+C7w2MLKLLffJonGLcgQ7r6XlCMsSgMB1uT7QC/3E2dxTjn?= =?us-ascii?Q?9tTHWUa5S7s3JlYsCfPyRZA1jVFSc0EYP874KTYgTITsW3QzcwH43MEMb8AP?= =?us-ascii?Q?8GrwgCdzSlzj7AU+peDJ8LRfL50VoDwWWUe6H7LVASsv3tsBNQGD9rQIaEGO?= =?us-ascii?Q?3SrUohcgP+3MHV38tgUsr9WzcMjIQA7A7ec8ii3kJ2+aURUnIP+btb2aRMFE?= =?us-ascii?Q?hyjzDNhuSeDQ7NUI3jrDnHRlVYtwERkRfjVe6I/H+a8ANBgkirFD+uAJTT1b?= =?us-ascii?Q?/UXLEhrc/gfSDVo7WO2AJIK4RIvd5u9Ipi+BzbNvWMWmHCaYwHHnBQ4LYefE?= =?us-ascii?Q?8cysojkeH5TVmUM18TD5JenGz5vak0lrSo2fWAyJZ4B1r3zhrEPpaRxddmpT?= =?us-ascii?Q?L1bQIzvKhQePJVKsKydiVStdR8q9/lbBEea3ibYQKGYECTpeKLgwz+BvkDXm?= =?us-ascii?Q?DLUrlyTh6m2Ov8nZi2ARir/w/O0npHXz4AabttORxvDue47UsOzRoYL1dIP5?= =?us-ascii?Q?1hLnOxRqV1mZ7W/wuoowj9DScRMowMyLClunnV/g7imG8SnwyVn5OXRREsGU?= =?us-ascii?Q?cy4Yo9goAom4hGvuBtxZoxc58sQhacuiIvOm3tpv52A04XSAZiR1VIz8GZM5?= =?us-ascii?Q?NOvfhs4nIID5QTK1+cNErwHFgnsf0LZRqJEh+asjIUtb0w+U5upsMEbSM4i4?= =?us-ascii?Q?n2x04K2VT1K9CV2Cy1NvegBNiltFy7n9zL4iQgTrgB+DIwUjFNOIV7RpnP5D?= =?us-ascii?Q?Ox4Mo++5LwfkufYRUhFBcxT0eKit3Fub1NzgkCY3o4LqfkWm/yog6jQd2hwl?= =?us-ascii?Q?npT2fVyTt6UF/kyD25IlHeSW4jfovRQjp6aautabgmH7j7LjCHqUdGTocba9?= =?us-ascii?Q?PZecFHOpOG3XReaEJ+L810psswZFzKMParL5FcyA06tSq1llM8AODCRB6ks8?= =?us-ascii?Q?9TzTIvskVYr4xi2jxP6CwLAbOONGZdvJfvFDFTeNurOgm1KAqm+TCqdUWIVb?= =?us-ascii?Q?B4rUND29XGqAnSnqlQq9gic3J30BoZZAyPW0Rqoo1bK0UFyRRi2GPZRr/fvc?= =?us-ascii?Q?rtqQOCxb1WWWd+lLQtEV4jf4J47E14UvkrF0IkPHk8xuxCeNNoXkqIq47KAf?= =?us-ascii?Q?vuMbjgbvqO6QKJSHKNeGx6Lyxi7eOeQ5gr9siYAWP4UN5O5PiMp+J9wyKpmu?= =?us-ascii?Q?qXVadO+djmBzBHYWrLTaGV988kt00f2r14LqOFj39XnAuGE5kOQUAu+JP6Ad?= =?us-ascii?Q?qVLuubMoee/wvVuQp5C8BF6yiw0q+9N2un/f2UHo7Z4DK7TaFWVnCcSIUwO9?= =?us-ascii?Q?X1+H0Yh1Y8kOlKTGlOP++bxuqLBP7rdTBviCXErM3+BocntLDxARxXmOp6oi?= =?us-ascii?Q?de+C+bWvAzvpu9+xvA0JyDFmKi3fgbjnDtQoRlrps5kYc8dgle9dQ2OpEMYP?= =?us-ascii?Q?8ohu3LEf0vvIRgURbY2I6cQU3o9lb541jg3AZTGLQridBDVal6+tCYUMRJUX?= =?us-ascii?Q?+uavpw=3D=3D?= X-Forefront-Antispam-Report: CIP:216.228.117.161;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc6edge2.nvidia.com;CAT:NONE;SFS:(13230040)(7416014)(376014)(36860700013)(82310400026)(1800799024);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jan 2026 08:53:59.3863 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 4acc08d0-b5df-420d-2d41-08de5d819cc4 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.117.161];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: CH1PEPF0000A348.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV8PR12MB9620 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Jianbo Liu Commit a5e400a985df ("net/mlx5e: Honor user choice of IPsec replay window size") introduced logic to setup the ESN replay window size. This logic is only valid for packet offload. However, the check to skip this block only covered outbound offloads. It was not skipped for crypto offload, causing it to fall through to the new switch statement and trigger its WARN_ON default case (for instance, if a window larger than 256 bits was configured). Fix this by amending the condition to also skip the replay window setup if the offload type is not XFRM_DEV_OFFLOAD_PACKET. Fixes: a5e400a985df ("net/mlx5e: Honor user choice of IPsec replay window s= ize") Signed-off-by: Jianbo Liu Reviewed-by: Leon Romanovsky Reviewed-by: Simon Horman Signed-off-by: Tariq Toukan --- drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec.c b/dri= vers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec.c index a8fb4bec369c..9c7064187ed0 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec.c @@ -430,7 +430,8 @@ void mlx5e_ipsec_build_accel_xfrm_attrs(struct mlx5e_ip= sec_sa_entry *sa_entry, attrs->replay_esn.esn =3D sa_entry->esn_state.esn; attrs->replay_esn.esn_msb =3D sa_entry->esn_state.esn_msb; attrs->replay_esn.overlap =3D sa_entry->esn_state.overlap; - if (attrs->dir =3D=3D XFRM_DEV_OFFLOAD_OUT) + if (attrs->dir =3D=3D XFRM_DEV_OFFLOAD_OUT || + x->xso.type !=3D XFRM_DEV_OFFLOAD_PACKET) goto skip_replay_window; =20 switch (x->replay_esn->replay_window) { --=20 2.40.1