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 D65DD45A2E; Thu, 26 Sep 2024 01:16:57 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id A3F614025D; Thu, 26 Sep 2024 01:16:57 +0200 (CEST) Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2055.outbound.protection.outlook.com [40.107.92.55]) by mails.dpdk.org (Postfix) with ESMTP id CF0B7400EF for ; Thu, 26 Sep 2024 01:16:55 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=SzW9P0U0Rmh2vrorUSsheMC2HOtg6I7H24gDYysTNT2g2iDSvnNsfQzJOSHmvtybmkAmWgCnVsFRv4W7UdeZZCioRaVDMtA6EcWvU2WBg+UCVGBkLx6og2BO9JFnNHswrZIiyan7gAkv30ZhEUbxTZc8l18gZNgPYRKY/ez65lK1VFyhefpiR8a4hYBqNYPCWW6IlpLaUxwb1edyZXBsT03vvEU1q/tCzRzG/Ppr2gkD9mVJ/lzQ+xRJa++ZDoqy3ayhiOpD6DiQalcIe3eRkezzVuJs6LGfUJipo7++eRsUb1Onmg+Goq7HWJJ6RBIXF53D4ysm1gEznpy0mnT3eQ== 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=3bb1bmhwkoJ2QXtf9+yFr8skXUyTOdoEanGwr0uM65g=; b=G392LPQDDrcuG/vvSJKwsu2J+nnJ6nE/XUF69cQXS+Qlaxm+oBvvUOpHaXzaEX5NiSyFfixThlKLXaYCXyL52MaL5SlX0sHq7cUV09ofCWlD2HxsUEthK59XH2vHpnyVS+q6A6q+ym74QjRBBHoBaNOmlqPmV4WLzDBkk1j4KxXvQUrywrwNMakUPiZywlODDFazkPtoLKxponZVXXl65mRamzTRmtG+ANrgNWUWIfiU9vL4fK9a60K6e+0JOWEzBjsoFUCe3Z2VDEAD1wXdBLvgCt504wm4+hI5tYzwIpt1sv6iO/PHzdNz1MFXyzxEBiv4nUqe+j88iy65k6RKCA== 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=3bb1bmhwkoJ2QXtf9+yFr8skXUyTOdoEanGwr0uM65g=; b=HRJm85P4aIAqKcdxEueiHIU9qmlZhVB9MKSgUzVuMmJM6njdS7xvkswudUZG9iiMmNEL0/svcaXQMqR/8gr9z5EsTkWeFmDXO5tGTaFdiuC6mtKxGdRbsYjCzPGGOCUYbIAzTXOGn74TUZDy9iujzTQzVJ2USWZWjURWnY+ZgK0= 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 SA1PR12MB6871.namprd12.prod.outlook.com (2603:10b6:806:25f::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.27; Wed, 25 Sep 2024 23:16:52 +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; Wed, 25 Sep 2024 23:16:52 +0000 Message-ID: <461501aa-9483-49b1-b244-60c2719878f9@amd.com> Date: Thu, 26 Sep 2024 00:16:47 +0100 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v1] ethdev: fix int overflow in descriptor count logic To: Niall Meade , Thomas Monjalon , Andrew Rybchenko , Roman Zhukov Cc: dev@dpdk.org References: <20240923092601.728817-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: <20240923092601.728817-1-niall.meade@intel.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: LO4P302CA0003.GBRP302.PROD.OUTLOOK.COM (2603:10a6:600:2c2::10) To SJ2PR12MB8830.namprd12.prod.outlook.com (2603:10b6:a03:4d0::9) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ2PR12MB8830:EE_|SA1PR12MB6871:EE_ X-MS-Office365-Filtering-Correlation-Id: 253008e1-2f96-4655-6f70-08dcddb823e5 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|1800799024; X-Microsoft-Antispam-Message-Info: =?utf-8?B?NHRlbGJhN3BoemVoTmcvVktHeFBXOXFQUHZRVmpFczU2Q3pWS2liMm1CQWVF?= =?utf-8?B?S01NdENjQkgzQ2VmQk5vMThIdWd1UENUUlkzNG9wWUVOdi8vNXdGYVlBUTQ0?= =?utf-8?B?MUJDS2Vsdm4zRU1GT245YU1zQWZybzdzUCtFU0pYRk1aaW9XTnFzU1QySU5s?= =?utf-8?B?UTB1bVF0bWcvZG9FOFl2ZGorYndrWTB3M01DcXN2K3JaTE9tRFBoYlc1Y05D?= =?utf-8?B?eGJ5MTEzZ3NmUzRSaHZjNlBTWnpZN2c0QUxRU1o3T2t2a3N2dWtReTFZM3NX?= =?utf-8?B?K0dkWHlSSlBNcEVNZjZvZEo2VWpyU1dIeFJUQ2RCOVhOQjJ6YVpFY3phajVQ?= =?utf-8?B?TDZKVm5IWDBKdTRHNHBEdnJ5RERscEpuY2JUeU1pWHVxUFY4SCtITFpWYVNU?= =?utf-8?B?eUpJMjZVeU11ME9GTTFXbW9kMXgzOWJFd2RUQmkvUmVFUkMyS2VLRk8xN1ZJ?= =?utf-8?B?SmJINDh2bXA2SkNoUUppVlVFQnAwSlgyRjh6L2pqYjJRUG9NZkVCeEVRZzhu?= =?utf-8?B?ZHNXTERmZ2hsUzdteHlhV2hxUWpOTXRIQS9iaG4zeWoyeGhLbjJNY1Y4UmF3?= =?utf-8?B?dGdjUEl1S1ZlbzhydVp2cjJpOXBSU1RhNlNLbkVld3YrSnhucjJORUVVSWxk?= =?utf-8?B?VE9RUFhLbW9ZaXRpZnpWWFRmZFZvWFp4TkkyUVFXeGVGa3RhbCtWS3BOK2Zt?= =?utf-8?B?cCtLM1ltaHh3RjB3UzlOZVRTOU1GYXlVaVhuSU9OUjhBWVhseW9TaFVBRmZa?= =?utf-8?B?cE83OUVYSlhldGkvUXlqSzAvMzBzQlVEY0NvbVBFVHJ3WTJiVXBnclUxSXhK?= =?utf-8?B?ZUszRVdPWjN4MjY2bDVCdHVpQlpaZTkyVHptSW1nYUkwZDUyajZ6MXRiekZt?= =?utf-8?B?dHpHT2o3eWhjeW8yVEhhZnRDL2Q5YWpyRTNZTEYvV3R2SncxVExBclUxRkN6?= =?utf-8?B?am04Z0NUOERpZURRaVpsS3JWYmUrcGRzMjlXcDM2MklCdlJpbWFzSGtObmJx?= =?utf-8?B?OG5KenB6bXRtbmg5SFdoZlpZaWhybUFZOWVSTUtLWmduN0Fjd0trUzl2YWN4?= =?utf-8?B?MFdmM081aXB2TTg5VGlyTXVkVU1JL2hJQ3cwVHNEYS9IMGJNenNrb0JQWVU4?= =?utf-8?B?MnRBZElyaUFwbU13Yk04eFcza0pyTUN6c2hmay9JOERsVm5NTlN6UGwrTkQ1?= =?utf-8?B?Qys4NTdwR1ppTG0zSlloZDRRQ0pBdmtocmhzQkFxVGRnajV1VXFBZ09KWWpJ?= =?utf-8?B?Sko0R3lmcnljdVUyWkp3Y1lmS3JXbDBpZWhBSS91YlRYUzlsQjVUdnFnaUkr?= =?utf-8?B?UU4wVmt5MmdMOVU2Yk91MVlKMmFQdHVNdllHWHJiTGV3bnBmVC90MUt6RHll?= =?utf-8?B?Sk5iQzdubzRxWmF1bGEybHBqZEdmTlErb3drdkJSeThONmtLSmlPd0E0cXp0?= =?utf-8?B?bDVxYTUxazRHK1NYSW9rWStFdHpCNTA4ZDFSMXY3dWRYQnI0NWc4RDBNR1I4?= =?utf-8?B?MHZaVUlwemxwc2JkTXJFeXlURUNuZ1dZWlVSTGFnS0pvN3VUQmpvdXhjd3hj?= =?utf-8?B?bUxyVFFkV08wTUUxVHV0U2xrZmU3NGtvanJyY2o0ZTBmWEhjbHlnaTFLMXRB?= =?utf-8?B?MisvWEx4LzFJZ2hFbkVMNVNHc1hTNk91S0hMMkxwbUlrell3b3ZWd3hETFdy?= =?utf-8?B?ek9TNEdjRzJES1JPM296R1AyTmRMVVBjN3dWSm51SElUeW4xMHdsbXlnTmUr?= =?utf-8?B?WlFSWDZrKytlamY5d1ppV0I4R3MwWUNSbkpuQndoQk5kQW8rVXRIT0dScDBH?= =?utf-8?B?WEladHBpT1RPc3lmc1ZyUT09?= 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)(366016)(376014)(1800799024); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?ZTNoZkx3blZBMm9vQ1UzUUFma3YzcWRHMjVhdmx0U0V5bGJWZ3BTKzNYaHNW?= =?utf-8?B?emZ5c3lTaUZocThaalhVTUlWSW94NVVtU2ZpQ3NNeXJLRUw4ZVJLQlFzN3Ez?= =?utf-8?B?K0pLWmF5SXRtTkdEL293TGZ4eVQyVUNmSWgvZEZNdXNLMWorRWlQYWJWRXFp?= =?utf-8?B?b1A4eWN3bUFudWc0WkZoelBEL1JId0crS3BqcVM1NU40Z1k3TnlmS2ErU3NQ?= =?utf-8?B?VHVOcXFrUjFDNXY2OW1WQzUraHF0a0FqcDVFTGlobjR3ZW1ndzhvSGo1Tlhq?= =?utf-8?B?cDB5OGNGV0psWGRyR0hvM3FIdGJac0pkTGlhSlkyVXBRZjBTMjFQS3grN211?= =?utf-8?B?R0FFenVUMVBKVGVLRFYxZTFLYVp6U0hKQlk4VUh0YTIvdTZUN2VTY0RPc0VY?= =?utf-8?B?VnpLcloxelNuRDZmVk5qL3BaejArS2JtYllJbkh2SWJNOVBkbnVzQjA1T2N5?= =?utf-8?B?dDNMSDJrdVNpZzdkazFCenpUQ0xvVFlUSDBweHFvV0phN0dKV1dxRmpYdVMy?= =?utf-8?B?TVZidzM1NlB6ak5VZHp4Tm9lcUluOWN4bEFTczZxN3I2U3BmL001dk01RzR5?= =?utf-8?B?NE5XZDIwUkNwZ3g3ZHNxbjc5N2xlKzB0RktjYjJtK1FCaFoxeUJrNGFjNmdS?= =?utf-8?B?cXBRanFUWFdRbWFwdE51YjNucEIzN3JWcFFBR1Yvb1VoRG04MzVqaFd5dGZx?= =?utf-8?B?ZUZic0ZveGsyUGlsM3VjZGRYVXJzTzJTNnF6SmNjZEVGOW92ZmVDaTY3SzJD?= =?utf-8?B?MWdDd01XMGhCUkJ4T21lL2I2NnFrZ2w0OE9FS05lRzhPMGlFaEtrV2ZVOWxw?= =?utf-8?B?QkVSYTJGM3RZM3F4L20za0NYdDZJa09VU0xBVllWNlZkVmxoYWc2RFEzeVBK?= =?utf-8?B?ZUNqL004endsR2VOMzcwVnZ0aC9qdGlRSHRKQmlOcjNEdk43UDZCaUJheEdK?= =?utf-8?B?ZU5ZV3BJbFNaOHdwK2c2SlRpWGlvRUY4MnJuM21lQmVRZmRwcitjOFoxUE9t?= =?utf-8?B?ZjlGQXlYbjBienFkWi9DY25sa2UweUF5SWpQK3dxaFJPMkhSY1l2TXlGaGZ4?= =?utf-8?B?WHRIRDlQaDlXbEE4aFZsdTlVVi9ZZ0ZoRG9hSFFCYis0Y0ZnZ0VySEMxdE1s?= =?utf-8?B?VEc4NnhpUnBJUmVLOGUxMDd2STJ6c0s4ejBSL1k2NHpabjV2ekx4bGhhS2pR?= =?utf-8?B?WFd2Kzh2THVwNC8yQWVPcno5aElJWWVhNG9FeEhqMmN0VHBoMTdWREg4Tk16?= =?utf-8?B?VG1uZG5zRkVzVzBVRisxOE5hOUoyb080ejVPcTRaS3A5ZUxXb2loSGdBbHB0?= =?utf-8?B?WGtZWm0yVmFRODNLN1JrNkx6b0hLSEFYeld1UEhudGJjWmV2a3NlOVZsOWRn?= =?utf-8?B?MEdwVC9nWGxpQ2tqZFFNQVFIZVViUENZTE1RWGNLdEJ0aUo3WnJhczlibXZp?= =?utf-8?B?WC8xN0VtN01LSW1oUjhwalI5dE9nVTJyS3ltcnpoNmNITHBsQUFrTERMK09t?= =?utf-8?B?MkdVNEdYYzYzcUxrU3BFNU1OVENWdDZkNlZ6M2pIUzdjdzlUK2tibjFuY081?= =?utf-8?B?SklnelR0ZUpSR3BzZjcwT3hYOTE1eU1sSXFIY3RoQzFONWp2Wm1ENmlKN0F0?= =?utf-8?B?Q0xWSzhoUWE2MVZPSFZncXNzejRxYzExQWluVTY1QkY1N3FuRzQxZ0ViU2FO?= =?utf-8?B?OTkwN3lmKzNWaGU3bDBWV3h4N0JETnZab3F1YlBpenVFN2ZZa0w4UVdYM2d3?= =?utf-8?B?YVRWRWFZN05nRXpEOGlGVmpTQ05ub2IwREIxVHpyQ0xpYjFxbnFwTnEvUUVD?= =?utf-8?B?OVV3aWNsTFNYRE9ZQ2JDQjFCOWhhRGcxR3lLblYwUmxHbVdmQ1c5NEt6LzZT?= =?utf-8?B?bDFMaFVpN0RiWnZ3MlBXTlZId3YvcjZLdFJ4RC9SMDBURUEvZzBuMVNHRmFB?= =?utf-8?B?V0Q2VHFQaG1CRm5Gc3Z2anZzZ2lhTTdlVTZ6dlR4Uk1WTW4wL3NSTTJzZjJF?= =?utf-8?B?QW9NK2RYdzROQ2NZU2EvcktvMkVXSzBZQ3N5QmJhdEI1SjQzVUpXZTZUcnFq?= =?utf-8?B?bzJweC8yV05LZEFyMHpOR0lKMHc2Nnkrd0lzc0NDVkpvWDlHYmVLVFZGK1Y4?= =?utf-8?Q?VmiRlGvnR2+EoIapYEcOj7/Fg?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 253008e1-2f96-4655-6f70-08dcddb823e5 X-MS-Exchange-CrossTenant-AuthSource: SJ2PR12MB8830.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Sep 2024 23:16:52.8073 (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: /AVIgIO2woIFlizxh6+G8he5KmPGlGn/ot8vmINW4Ps6Mi+4uOs+8Vyq48n72YYe X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB6871 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/23/2024 10:26 AM, 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. > > 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. > Hi Niall, Thanks for the patch. For the 'RTE_ALIGN_CEIL(val, align)' macro, 'align' should be power of two, as 'desc_lim->nb_align' is uint16_t, max value it can get is 2^15. 'val' should be smaller than or equal to 'align', so '*nb_desc' can be maximum 2^15. So RTE_ALIGN_CEIL(2^15-1, 2^15) = 2^15, I think this should work fine (although I didn't test). And even with your uint32_t cast, I think following will fail: RTE_ALIGN_CEIL(2^16-1, 2^15) (again, not tested). Or maybe I am missing a case, can you please give some actual numbers to show the problem and the fix? Perhaps what we need is to verify mentioned requirements of the macro in the function: - 'align' should be power of two - val <= align But as this is a static function, these checks can be done in caller function and preconditions can be enforced. > Fixes: 0f67fc3baeb9 ("ethdev: add function to adjust number of descriptors") > > Signed-off-by: Niall Meade > --- > .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; > } > > int