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 B3512459FA; Sat, 28 Sep 2024 01:24:55 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 7356C40156; Sat, 28 Sep 2024 01:24:55 +0200 (CEST) Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2040.outbound.protection.outlook.com [40.107.93.40]) by mails.dpdk.org (Postfix) with ESMTP id 94CCC40144 for ; Sat, 28 Sep 2024 01:24:53 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=KJzl0KYMduRF2RxLhrbnzEMmv01Yy2zx9RdrizvUANXRJ0daHpI/NJNx5Z2NYVJ8+xpudncp2MkmtZQ0m8SJ3n0keP0E21jH4vcZctco72b49u4MiW5fHmcvFVKiICslllU0UQE+2AE5mceML19duX5n5sBwsK5/yBa/SLP8SyqwQdwzpeBkSFyUt1U0E5JkPYl0ZiE4zFEhiI1xY7lwg8Jzi3+XibMjlbm+6xggFijXpndStd3Ex4hZJ3eOcwhd1HsRbY5Jjgdu48wb/mNdfFu3fBPKRvEEJoT7sP58NEAo2YHelaON2n17lU14yZrT6HUKfcsMjY1F3ZbxG4ZBiQ== 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=Hs4su4A4IZ+rx7qQLwjPfSMkcgmwNNa77LGnfG7NB8w=; b=AL6qQAr0KAQOjB4pbZLGeFMdgMsorniGsPGzm+2gGm8uGTy/S9Wc5QOioppanogzZwpIX6slH4jz13JoV5OjKGfpiXOmeEqhStr+J5T96X77DVr638l7dt+pCby2h+Xotnqz1KM2LiiXrh8WqmHQFtVSWYse6DeQ2mEZowr4Nu65IxAMxV5DhA8mdMZDG1fazbLHiXf/2G9eFc4A4gRhMMoCEw+Gcn13Ydv025V6bT97QLXDyszjDrLIRSdHeFSYkhnC5UoRbGFngyF46Q3Jhd6I9cyin0BVy1GebmyD/Y3bSLbUxw77+iuLH0HEKZN8kKQL/RKY3y9fP4yNh/vNpA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Hs4su4A4IZ+rx7qQLwjPfSMkcgmwNNa77LGnfG7NB8w=; b=RTqUDTGlYOsvctQyeG2k7zcFVQ5RaiWPWLd4lIOnqOdENRaOfS+DEpHQW2VWz8WRJSfP1VQCdGsUBeZZoCbDvbhjJXm4Nd5MqEgT28qvyyobVnQZ04BGJpH0c8zkcMTnrEYn4clHxsbh4cWrSYknNzyzdxt/syEYgNWWsUIzbfA= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amd.com; Received: from SJ2PR12MB8830.namprd12.prod.outlook.com (2603:10b6:a03:4d0::9) by CY5PR12MB6432.namprd12.prod.outlook.com (2603:10b6:930:38::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8005.23; Fri, 27 Sep 2024 23:24:51 +0000 Received: from SJ2PR12MB8830.namprd12.prod.outlook.com ([fe80::c3eb:df02:eaa9:2055]) by SJ2PR12MB8830.namprd12.prod.outlook.com ([fe80::c3eb:df02:eaa9:2055%4]) with mapi id 15.20.7982.022; Fri, 27 Sep 2024 23:24:51 +0000 Message-ID: Date: Sat, 28 Sep 2024 00:24:45 +0100 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v2 1/1] ethdev: fix int overflow in descriptor count logic To: Niall Meade , Thomas Monjalon , Andrew Rybchenko , Roman Zhukov Cc: dev@dpdk.org References: <20240927132329.296038-1-niall.meade@intel.com> Content-Language: en-US From: Ferruh Yigit Autocrypt: addr=ferruh.yigit@amd.com; keydata= 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 8Zk= In-Reply-To: <20240927132329.296038-1-niall.meade@intel.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: LO4P123CA0385.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:18f::12) To SJ2PR12MB8830.namprd12.prod.outlook.com (2603:10b6:a03:4d0::9) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ2PR12MB8830:EE_|CY5PR12MB6432:EE_ X-MS-Office365-Filtering-Correlation-Id: 4960d565-06cf-4cfd-7292-08dcdf4b95c0 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016; X-Microsoft-Antispam-Message-Info: =?utf-8?B?SFBhL1hWTFJxM0FuNEtoNCtDZFBaRHRoWUdLa1F1ZlV5R1ZQYmlMMVNyY0Zz?= =?utf-8?B?Vkh2ajE5VEU3bWdJSkdEbDBxNkJneHlQSGtnd2wweXg5dEJYQVEwTVh5UkFV?= =?utf-8?B?SHFqTFBhdW91K1dTR0h1b2RBbWpKMnExeGRYSHVPNUIvV3E3S3k5c09WSmtt?= =?utf-8?B?SnNMK09SZHpYZWVFaURnREZmU2Ntdit0OXNLTGxuOTZ1MjlMQ2U0NE5iQzJB?= =?utf-8?B?bTAvWFIxcW9RcFVGeGJaSldERzB3bXFiVXJ3ZnBrbVAvMmtBa3o4amlSeVc2?= =?utf-8?B?WHNpU3R4cFcwcmVXT1JvM1QrZ09qYlFJd3BieUo4SlR4MjloUzhOdUZPUmZ5?= =?utf-8?B?VDE4Y3VFKy9YK0VmSnlQSUQxS0MrQUdtVWRFL3FwL1Z2S3lpZDlQSzlaS2xX?= =?utf-8?B?V0p2RHY2YTBwdm0wd09qTFd6WVlLM3cwZC8xS3p1eVp2OEIzS0p5SmlBT2JF?= =?utf-8?B?ZGhGdEgrTFMwb0hIZGgvMGNaUDFRYStSaVdLZmkzbWQvWGp3VnR1ZVBFa2wv?= =?utf-8?B?V2VsdzBHeEorRlJOOFdtenZ0dUc5NXl6RUNEWFZ3RUNlMEd3L21VMGRzazZm?= =?utf-8?B?U05EaFZ1dHJxL0dBa0lIeEVKa2VGekVwb3BzN2phNWg1RVRuY2R5alpEVGZR?= =?utf-8?B?VHR1RDlTbSszVkdZQkJGNWhyaTZDajgrWWRnQnFQL1RVNXV4aFNHcHFmb3Fm?= =?utf-8?B?Vm13U1F5OFFlLzFUZW9GWFJDU1BaVmJPSlgrVE5rd1NZSkpsa0ZNcUI4ZUJI?= =?utf-8?B?akcxdVdFdWFjNkhPYUV1YVIydDJQQ0ZqTlY5OXF3MHhkVjlyUjRhWUZRN3FJ?= =?utf-8?B?WWUxcG5BYjBLM3ovYTlaNDFsV1loK2drUnlobmlpZ2V4UW51YjRQK0lOVEMy?= =?utf-8?B?Ujl0ak4rRGtndGMxUTJMZkFQbllzRXFGRFhQdFo1N1ZQcG01ckM1NEVoOVJS?= =?utf-8?B?aGVhNDBpNExWUktTaGF1MThUYXpNVElsRVkyZC9HZEh3VDNyanNzUjdSWEwy?= =?utf-8?B?cisvL3ArWEcxbUFqa3hMOHY5ZHF2T2VhSlNpbXZBblcyYjBORDRCTFY5M0J4?= =?utf-8?B?YWM1eGgxUnBycnRiaHdJc3pWd1hGMXpaOVZlUmw2UUx4MW1MVzhyaFdrZUsx?= =?utf-8?B?ei9RdXJ6Rit5T25ZTlpEaXFkVXF4K3ZoZ1hVZ003MU9qWnNsSThIMGE0SEkx?= =?utf-8?B?SjFySW01NGNLTk03ZG9iMHhQamxpUGs3a3NNY2JTaSs5UHBWSlBJWi83cktX?= =?utf-8?B?Ny9PdEVVaTdNRk01QVNCQ3hsV0xRZ1RlNXhtVE9OREtQc0l3VHZwT3RrdjJF?= =?utf-8?B?eFFyWUF1UTdsVTl2ODdrdUVyWFlBMVZidWVuTFF1ejJVNTUzRS9RcFNsQ2M4?= =?utf-8?B?clJ1RzVhd1lJL0Voazd3MFRjSGJBN3NxNU43eHM5TGx2V21MRkV4WFpDcUo4?= =?utf-8?B?RUloMWJPQzdGektrZnR5WENYTy8rNERQOHMyR2pLaFpWNjNJejBON0w3RUlI?= =?utf-8?B?RmFBam5wbGpSOXYyY1pxRnBHM0xncVdRUkxueFZ2SjU2WDFPYUVzY2VmZE5U?= =?utf-8?B?Q2JYejFvVVUrMWpPbzNPUHFHMzhHaktnRmJCSzQwVTdCVlZidzA0QU5HSndH?= =?utf-8?B?bys0dVNKYjNuYmhCUXdPT0Qvd3EwMWgwRnhpbVU1cVNRem5jNGJhTzQ1UmZk?= =?utf-8?B?UXhvQm5vcWVNMksvV1lOQXJlVGZ4QlVwaEZhU2xVMHhCQVR1b1VpR2ZLZEx3?= =?utf-8?B?UjVaMHRQOWRuMVF5RDZMbHh0bldVT2pCdGxvNU1vNzV5Nm9PbWc1dlBLMTJ2?= =?utf-8?B?QzNQUHFHeEVYdU8rRDhMQT09?= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SJ2PR12MB8830.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(1800799024)(366016); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?N0srakRtVnk3bUlsSkNCOTdUNkZMY0hnTmhGNHBWVzRielMrbXlYanIwWmdB?= =?utf-8?B?bXJsbTdSZkdPaWgzaUlON3hDdEdEOTY2akN6ZEJlNlJGUk9Mb0o1ODZVa3ZZ?= =?utf-8?B?UkJMMHpCRDVzSlhmQ2dLVGo5Mk1KRng4REFBeUVXSEhzS3ZwdXUrcnRXekZo?= =?utf-8?B?SWQrSHlZckM1aE95L003aVJ4bm5DSnBLWEhYaEFiajNQV0tkNXdJaHBady9y?= =?utf-8?B?Sk0rMTR6ZGgvNSsrQUI0d0JxYXFKSklaclNTNUFxZU5OeFNmRnpVVCs3MW1v?= =?utf-8?B?UjVrTGsySHlmd3lYWjlKbExLWFA3cVd5UGMxcURxbU5WaEdoQ0hvVEMyeFl5?= =?utf-8?B?QVNIR29tUlpaendQdENucVNqbmdaajNwUVdsS1lJQ0NSN0RCV2I4TVpUWDNn?= =?utf-8?B?ZEZHMEZzMjFZRXNUTDgxb0FIMWtQZ0J2a3ZLTlNGUFB5bkFsNUdjR2hPSVdK?= =?utf-8?B?aVZMVmZiZ1RBYmRxU3hzTU0xcnBwTWp1dVZXN29ad1czdFZFVERRcTRUbW5t?= =?utf-8?B?RFNNVzR3QWNkbm56ekVKNGpUWldWTjNuSXZxMDFBbHNPSFc0MkUyNHFqb1pB?= =?utf-8?B?TFNGRnJYSFZZMHFlV05MQUwvR0s2MnNBM2JvYjBCTjNibmpESTZGRk9QbDNE?= =?utf-8?B?Qm9seWMrdlFGU3BZZXVLOGMzQ3ljQkJKYUp5MHZoK3kySDFiUUU5VEIzcThx?= =?utf-8?B?NFFPR1h6WWdyV1NwVVczOWVTcnFQRzc2VUI4b1NEaURGWXV5alg1UXlHcTh3?= =?utf-8?B?T0VrSEp4WUJGcVR4S09XR09HTHJyeUhTa1FMeFBTck5SSnplVjJDUkFCQjJN?= =?utf-8?B?WS9PUzViczZQdlFvN09uT2VCem9VZUM2ZGMyK2xrVVZxcXJJcStLWmJpWnl6?= =?utf-8?B?SEVMcytVaHRwRWZjaWM1VWpYWU5zc1NrWkZ0TXltSzlVQ2dqNG9IVDZDTUp6?= =?utf-8?B?UnpFY3NUeG0yajZTTVkycWluMU5QUDZYdmFRT2lteWZsd2NjMnFvaWx2Smlt?= =?utf-8?B?L3Q2a2R2WUN5aVh3d05mM2VwZkJpNDh5WEV1VjBOOGxBY1Yvek5MTm1RY2Zj?= =?utf-8?B?QVh4Q250QWwvcGc2NUhUeGNUOTJyTDJoUGdVbWZwbmY5WjdJTlYvTEZCcGtV?= =?utf-8?B?cUZ6dHh6bUNQaDV2cHUvbDNGZy92VnZBR1RVN29CRC9RdTZiM1lMYzl2dm41?= =?utf-8?B?NzN6RytkNUsxSnJzTERuQXZ5dzFRWFNhcjJsTU95MjVzWCs4cFpBVGtRZ0pT?= =?utf-8?B?TmhEOUFZWDNtc3hDSEM4NnJTZWhWdzlxMVFmQ0xleHNYbG9qYVF6Z1p1QmN6?= =?utf-8?B?MVA1WlpFUWVrcFlsdEFhMWFlUVBwbVI5QUVhZ0pJamw5ZVd4emFjLzk5bXFr?= =?utf-8?B?ZCtzNmhZaUhaRVg4c29kZWtNNFQxS1V0c2FRTHR4b2xFUnFsK1BJanFFblF2?= =?utf-8?B?M2lWY0hkSFJvVmZNMU5UbjAvKzZaRm9GaG9vQm43bWZORmRpczNiNElTazRO?= =?utf-8?B?dFdkL2d3a3JYUlIyemJueE00S2pNOEI3bDhzZld5TlF0VDRad0Vnbk1jMnFH?= =?utf-8?B?dXNWQjhrQjl6VFNkV050b1ovNWI4ZEptZGlMMDMrYVFtR29BSTQ0U2R6OTkr?= =?utf-8?B?UUVkc3EreGRJaFpMcExJc0o4bFV6TWFaTElZcHY5WTB3LzU2Zldjc3hIaEtE?= =?utf-8?B?MW54bjcwVmpwcktUbG93ckxQUUl5Zkp0ajU0ZXNWMGU4TGx1T0RBdng2U3hW?= =?utf-8?B?aXIvaHY3bGlQNW1IT1hHYU8wT3lqVWQ3cTR2MEZ5aEUzVU9KdDFXSk9RYWlX?= =?utf-8?B?VFczNjl3U0wvSzlVQ0NvdWNXTS9KOTRzamQ4S25MRi85bnBRWGRZMGZ6V28w?= =?utf-8?B?OWxMcS9SaWV2TUpueXZXbnJWL01SRlRPTVRLc1M1dW1ZZ29kNWVBYlRRVW84?= =?utf-8?B?YkhvUHQrME1nR0haYTZDZlYzU0c4T3JTWXlmRTEvYzYwa2pvTUR1OWdsZzhN?= =?utf-8?B?Q2tZbXM1K0ZIaENSVkhiWjZaZFk2R3J2VjB6T1BBSEJHT25jeUd2MllVaC9j?= =?utf-8?B?SWJNcnV5eVVmRFV0NUgvR0F3TEgvVlR1RUk3Sk9FRDVhSWx1NXRORml5aUNZ?= =?utf-8?Q?xpg5ahWiFrbW6eK1bqtYfrhWk?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4960d565-06cf-4cfd-7292-08dcdf4b95c0 X-MS-Exchange-CrossTenant-AuthSource: SJ2PR12MB8830.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Sep 2024 23:24:50.9842 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: kRnA68rrGd51ilQR2J7nd9zmpkEwl6fpnOaYwwP5QfMT7ZtuydVJTE4Mqvjheqnt X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR12MB6432 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: , Errors-To: dev-bounces@dpdk.org On 9/27/2024 2:23 PM, Niall Meade wrote: > Addressed a specific overflow issue in the eth_dev_adjust_nb_desc() > function where the uint16_t variable nb_desc would overflow when its > value was greater than (2^16 - nb_align). This overflow caused nb_desc > to incorrectly wrap around between 0 and nb_align-1, leading to the > function setting nb_desc to nb_min instead of the expected nb_max. > > To give an example, let nb_desc=UINT16_MAX, nb_align=32, nb_max=4096 and > nb_min=64. RTE_ALIGN_CEIL(nb_desc, nb_align) calls > RTE_ALIGN_FLOOR(nb_desc + nb_align - 1, nb_align). This results in an > overflow of nb_desc, leading to nb_desc being set to 30 and then 0 when > the macros return. As a result of this, nb_desc is then set to nb_min > later on. > > The resolution involves upcasting nb_desc to a uint32_t before the > RTE_ALIGN_CEIL macro is applied. This change ensures that the subsequent > call to RTE_ALIGN_FLOOR(nb_desc + (nb_align - 1), nb_align) does not > result in an overflow, as it would when nb_desc is a uint16_t. By using > a uint32_t for these operations, the correct behavior is maintained > without the risk of overflow. > > Fixes: 0f67fc3baeb9 ("ethdev: add function to adjust number of descriptors") > > Signed-off-by: Niall Meade > > --- > v2: > * add example of issue to commit message > --- > .mailmap | 1 + > lib/ethdev/rte_ethdev.c | 12 +++++++++--- > 2 files changed, 10 insertions(+), 3 deletions(-) > > diff --git a/.mailmap b/.mailmap > index 4a508bafad..c1941e78bb 100644 > --- a/.mailmap > +++ b/.mailmap > @@ -1053,6 +1053,7 @@ Nelson Escobar > Nemanja Marjanovic > Netanel Belgazal > Netanel Gonen > +Niall Meade > Niall Power > Nicholas Pratte > Nick Connolly > diff --git a/lib/ethdev/rte_ethdev.c b/lib/ethdev/rte_ethdev.c > index f1c658f49e..f978283edf 100644 > --- a/lib/ethdev/rte_ethdev.c > +++ b/lib/ethdev/rte_ethdev.c > @@ -6577,13 +6577,19 @@ static void > eth_dev_adjust_nb_desc(uint16_t *nb_desc, > const struct rte_eth_desc_lim *desc_lim) > { > + /* Upcast to uint32 to avoid potential overflow with RTE_ALIGN_CEIL(). */ > + uint32_t nb_desc_32 = *nb_desc; > + > if (desc_lim->nb_align != 0) > - *nb_desc = RTE_ALIGN_CEIL(*nb_desc, desc_lim->nb_align); > + nb_desc_32 = RTE_ALIGN_CEIL(nb_desc_32, desc_lim->nb_align); > > if (desc_lim->nb_max != 0) > - *nb_desc = RTE_MIN(*nb_desc, desc_lim->nb_max); > + nb_desc_32 = RTE_MIN(nb_desc_32, desc_lim->nb_max); > + > + nb_desc_32 = RTE_MAX(nb_desc_32, desc_lim->nb_min); > > - *nb_desc = RTE_MAX(*nb_desc, desc_lim->nb_min); > + /* Assign clipped u32 back to u16. */ > + *nb_desc = nb_desc_32; > Better to add explicit cast here, in case compiler has '-Wconversion' flag etc.. Except from above, lgtm.