From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id E017D42DE6; Thu, 6 Jul 2023 10:56:04 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id CB52141101; Thu, 6 Jul 2023 10:56:04 +0200 (CEST) Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2075.outbound.protection.outlook.com [40.107.223.75]) by mails.dpdk.org (Postfix) with ESMTP id 995CD40F16 for ; Thu, 6 Jul 2023 10:56:03 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=k88wWjwUzfXW3bVgJsyRiCcjg3Yzecz9BXajmgty/4KxsKQzLXCIzHvyElN4uYdCNPa9eEJLUeBsohxc6WglG2hsBl48PRWk+3hpxNLOy469Xw4knFG69FGPQAXMnppofAUZRg0JcvFeoSpEBQxurGm7EkAS9UgN8SflRVkGsH8F0XFTepzjHEFaNr7osDW4mfCRQHhN9qjcR7LvMHRbONJJmckfBFQWmOPnHBNWs7O3c1XIRSHPDd0gEYVdR7DkOjBgAZ4E3WlgUD01Tz0gWBkaEWqmfL5O22GNBLRwCRtDK9m/CWn/Wluj0nDZbUqIdjuCqYtqus/29BYq3kVDTw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=QP/6pnL9LCv7cc97soGnJpVwPAm50kqfuwwVpDTWOAA=; b=LN6Tm+CHRlY4taZKwNRnJ8BJ6/V7iph4mdy4fNkbnzfN8FOcPyxB4MXGUHm4Va2UYeBfHyVMjhrrADQqVLYmWUqM9PLmJ/JtbCoHF2GWxU64FY5y3RyRB0YjKGdhEwkvKY5yKOCHgfBe/RcgLKLYGbpvH75AH+7OAKA1OLMeldqSCYeZtg1AtDf7+VI7n1HDH2HtpJDXH/+VZzaUeCjh9/Q5tGryAMPb2s2uIiEE/7Kv0A5XnbwPyUjAhqgaZBf4DgudgaAM0xw01+6cCDNDjDOdzGwpE7Q+w7xl65zkGGBNX0K6pVd8mh66s06Ydc63hK6rbgN+roOAYgAoy0XCYA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.160) smtp.rcpttodomain=dpdk.org 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 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=QP/6pnL9LCv7cc97soGnJpVwPAm50kqfuwwVpDTWOAA=; b=cb48qwDM7f/eSK3rbH8wAwjfqu+Wt+e8T+v0FPBBQhCJOIx5xbXxvjO1KhpaUQkV+rn9NgjpLY8SXAnVSWAAdoxsSyH+HWGYTNUrNUG3IIKOdCsvIrzmybe46W65GT/Uh2Y8M6dR3ImuTfVmJ47C4CFnkk5NjoFbNbMAXaD1vhmRd4peao/icSDAy16rYurPzCrb9GkIvmFqEDM4Uowp8tynMGzm9gIWd9eUjL+QS0oB+a+wiUnymcX3XxRVAXqlfrsHncYhUvR6lhh6xqP8eAipt53SRc+u3li7KJfNJViXphfHqC/ICe9sbmWDP/fIvaXhuIEOCqfl/t/qXnGltA== Received: from BN8PR03CA0005.namprd03.prod.outlook.com (2603:10b6:408:94::18) by CH3PR12MB8879.namprd12.prod.outlook.com (2603:10b6:610:171::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6521.26; Thu, 6 Jul 2023 08:56:02 +0000 Received: from BN8NAM11FT031.eop-nam11.prod.protection.outlook.com (2603:10b6:408:94:cafe::62) by BN8PR03CA0005.outlook.office365.com (2603:10b6:408:94::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6565.24 via Frontend Transport; Thu, 6 Jul 2023 08:56: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 BN8NAM11FT031.mail.protection.outlook.com (10.13.177.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6521.45 via Frontend Transport; Thu, 6 Jul 2023 08:56:01 +0000 Received: from rnnvmail204.nvidia.com (10.129.68.6) 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.986.5; Thu, 6 Jul 2023 01:55:50 -0700 Received: from rnnvmail205.nvidia.com (10.129.68.10) by rnnvmail204.nvidia.com (10.129.68.6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.37; Thu, 6 Jul 2023 01:55:49 -0700 Received: from nvidia.com (10.127.8.10) by mail.nvidia.com (10.129.68.10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.37 via Frontend Transport; Thu, 6 Jul 2023 01:55:47 -0700 From: Maayan Kashani To: CC: , , , "Matan Azrad" , Viacheslav Ovsiienko , Suanming Mou Subject: [PATCH v3] net/mlx5: fix RSS expansion inner buffer overflow. Date: Thu, 6 Jul 2023 11:55:42 +0300 Message-ID: <20230706085544.105641-1-mkashani@nvidia.com> X-Mailer: git-send-email 2.21.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-NV-OnPremToCloud: ExternallySecured X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN8NAM11FT031:EE_|CH3PR12MB8879:EE_ X-MS-Office365-Filtering-Correlation-Id: b46096fb-c818-4d93-aeda-08db7dfed30f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: xWASY56HJkBPiV47EPRa4z4yCvWNnJ3GF6hI9WZveeccWSOtFSKCC0v6F/ZhK/4ekxhGMocoYRRVJwWInV5xtkg8ybUXkw1KbwRjy/hd6gHwA7S7/m7m9MsQXjsXbAouGXjIHi8nhadek4880N8GJ3K3UlA/2Q9aqNXI7n3svowmEmGnYQAHnPGGBLu1QZobx+EoqJJ8/N6X2y6CwIkBuE+ZLwvPG443yaHkuoSnMSh8dfsFFtaTxemh+SJ5P/UZsyNIsnDV0NKHvpSRsJZ2YhBFRcRvoIGM5eDLNUbvXgQS8yGqtwKNMPGTWWsDLyOwTmCqIfZxaOs1OUMQoo2hmAEhXkdDTqEiy/IasLDZutK6bkm0kVr2DD12lXsL+ovB+h8VFaucf4scGnTHctzOD/LBQIuWzO+NBACNwYblf3CYpQNUlp7JkXeaSngRElavssMXryRV9vnhuE01qkai6Gwao4mptsgSdkfFzk7gNQmQgzSpmI64eF5EhNOjWAk9toCbFSqO9YRWp1ApVUX4Bs/gq5ZB14NHhH5SXFl/PLD6N0+NstPJXzKqWO/xjj2glWTsEWkfg9J8cGibz87gVz4Jm3WtRPMuroAVLnCjTOOnRCHw0vKBDb6R173XfMH5rqYjYadJ8vzEaIrnLkVcpNhYAzlNyG56+hGfIzc/HJTGiuZ4A5cCDu+sqk8Wk+drDuKzw0bogMGhEHENBlQo7aF+jSHMynxvlpXu8EJLyQnD0S8++IEsz/ESMZhsCCkq 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:(13230028)(4636009)(376002)(136003)(39860400002)(346002)(396003)(451199021)(46966006)(40470700004)(36840700001)(40460700003)(83380400001)(47076005)(36860700001)(2616005)(426003)(336012)(2906002)(36756003)(82310400005)(86362001)(7636003)(82740400003)(356005)(55016003)(107886003)(40480700001)(316002)(7696005)(41300700001)(5660300002)(8676002)(8936002)(54906003)(478600001)(70586007)(70206006)(6916009)(4326008)(6666004)(186003)(6286002)(26005)(1076003); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jul 2023 08:56:01.7211 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b46096fb-c818-4d93-aeda-08db7dfed30f 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: BN8NAM11FT031.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB8879 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: 20230703182123.210117-1-mkashani@nvidia.com Errors-To: dev-bounces@dpdk.org The stack which used for RSS expansion was overflowed and trashed RSS expansion data. (buf->entry[MLX5_RSS_EXP_ELT_N]). Due to this overflow, packets such as ARP or LACP with overwritten RSS types due to the overflow will be dropped. This increases the buffer size to avoid such overflows and adds relevant ASSERT for the future. Bugzilla ID: 1173 Signed-off-by: Maayan Kashani Acked-by: Ori Kam --- drivers/net/mlx5/mlx5_flow.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c index cf83db7b60..41e298855b 100644 --- a/drivers/net/mlx5/mlx5_flow.c +++ b/drivers/net/mlx5/mlx5_flow.c @@ -374,7 +374,7 @@ mlx5_flow_expand_rss_skip_explicit(const struct mlx5_flow_expand_node graph[], return next; } -#define MLX5_RSS_EXP_ELT_N 16 +#define MLX5_RSS_EXP_ELT_N 32 /** * Expand RSS flows into several possible flows according to the RSS hash @@ -539,6 +539,7 @@ mlx5_flow_expand_rss(struct mlx5_flow_expand_rss *buf, size_t size, if (lsize > size) return -EINVAL; n = elt * sizeof(*item); + MLX5_ASSERT((buf->entries) < MLX5_RSS_EXP_ELT_N); buf->entry[buf->entries].priority = stack_pos + 1 + missed; buf->entry[buf->entries].pattern = addr; -- 2.25.1