From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from SN4PR2101CU001.outbound.protection.outlook.com (mail-southcentralusazon11012029.outbound.protection.outlook.com [40.93.195.29]) (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 4C78E226863; Mon, 26 Jan 2026 08:02:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.93.195.29 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769414523; cv=fail; b=HMRrskDW36yBThekQCq0DCMhc+f68ii2ucPzOk7qAL7r3XxMyFH1WFDL1HChcjhv13LbiVcXZynwITzdrq9IbyZTmsqSo7E95eDIAXmaBcJev8ZKB1VCZ4p/fU2pqV/1WlgT+o+Q7BPpsImUEiIp4FVAu+gz4VWgVGP1NssOE1g= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769414523; c=relaxed/simple; bh=d8qujFJNcZiJGfwPjv492PfBP9HpcGpsd4X1Xhu/QUc=; h=Date:From:To:CC:Subject:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=kfQA0vMB0d1eT8s/UJPPQ5vSzxi68WmxXLGMIRvC31owtBOX7+g2OH1sRJRa9uY+bL8RE2LFlGy9kKeh2ZaKUU6uFO9DpGNuwiQ8BSAao1sxifHSb/SCzbU43EfHWE+B/aGre+EY3m0lI6dOEJ6RwNjDhrD+Q4jB5tIWmKa8x1A= 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=Zrv1rhxe; arc=fail smtp.client-ip=40.93.195.29 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="Zrv1rhxe" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=exhEp0ePBEkh8EPSeXU8a1Gee6yRYNrOI0ZYujKPKn2W6/dG63DaxIlO+a5qRWZGkyu7xvMA3k+g9rgmENCPPqZreg0ITGw7IqJyB11D2lXaaot2zDrj+t7ICA7qxu3UxpjLtqCJVmxNra8NP4Ye5hfl19bitZKfmltVJhSOh2G5/Z/QD0D73T5XXRkQUOB2kbilA9p2qU8gF+hwFq5MWQiurA8N/oVN9tNjxe2C6nG64oHVv1lkskyqNGbT06hDshVUWRzBQUYW6mLBSkJpoSpJI6ML8iZ4+9peoqdfAEJ4UH2GP6W4jfv6ojj5/2/eP3ZOq70ZERVHgmXvi7wYnw== 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=5q9Ccxgpdo0Juhdt7t1oUktC72zh5N4eTzTVyV7Cwic=; b=tpoHG9EaDN5/wDIh30lTAnyLKzvnfzAhhJwmiqO6SOBvcrNVRA9kR+1x6iHtpcBj1sg8W5dy2aEw87AjLpeSraFlnMeaeCCx9RcTx64WiBvUs8Yo3/LZfWRkiQGn/xZQgdlh9r8WXcKJeLSuzo2Mk4w+c9QdSuOAJVtgQNOejiDN4Pm3o84bHFYojyEvPdh4KqU7vrk2B2TIg7Fp2eppGDI4O66sQxq4zysqx4xqc660VmdrS9lc1vYwgrOM71BHG7qDTvUs0tw8l0d4naeb0B5dydu510PFE3ynStDolA+MD3hGjhASYCNaTSdk7EghO/MC4Dv/cllRp+5gREv4Tg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.160) smtp.rcpttodomain=lists.freedesktop.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 (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=5q9Ccxgpdo0Juhdt7t1oUktC72zh5N4eTzTVyV7Cwic=; b=Zrv1rhxeodIoJstqTowaIfF1+IolZmnEjjAl0B8BX/Iyxi/X6gFhOIX5NFNMcZd8NqR6oc4YezWu4srUIIEHla119sbyc4Eym4nvAPm9Ebt/Ov5hLuqlNrrU87RraWmyKuPxMbYhQGF+tl9lMC7wxzQiHFcjx5uMx0IsFZ3/t+x1zku3dK3W/+TNHfe7Q1bmGjCO57jQIGrLEzShv1Jn3wMQXzMWorr4SgG4AjAU9WTL2H4DCK6wA3kXqr5XnMGj4hTwlTEwdNpye5rQgKMo35Iwkd9uzF9Xpxjo7ab8kzaDQDD+vTKRP2HSu2HuptV154oL5pidrOqA+R52GZWr0w== Received: from IA4P221CA0012.NAMP221.PROD.OUTLOOK.COM (2603:10b6:208:559::15) by CY3PR12MB9679.namprd12.prod.outlook.com (2603:10b6:930:100::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9542.15; Mon, 26 Jan 2026 08:01:58 +0000 Received: from BL02EPF0002992A.namprd02.prod.outlook.com (2603:10b6:208:559:cafe::f6) by IA4P221CA0012.outlook.office365.com (2603:10b6:208:559::15) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9542.16 via Frontend Transport; Mon, 26 Jan 2026 08:01:56 +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 BL02EPF0002992A.mail.protection.outlook.com (10.167.249.55) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9564.3 via Frontend Transport; Mon, 26 Jan 2026 08:01:57 +0000 Received: from rnnvmail202.nvidia.com (10.129.68.7) 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; Mon, 26 Jan 2026 00:01:39 -0800 Received: from rnnvmail202.nvidia.com (10.129.68.7) by rnnvmail202.nvidia.com (10.129.68.7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.20; Mon, 26 Jan 2026 00:01:39 -0800 Received: from inno-thin-client (10.127.8.10) by mail.nvidia.com (10.129.68.7) with Microsoft SMTP Server id 15.2.2562.20 via Frontend Transport; Mon, 26 Jan 2026 00:01:33 -0800 Date: Mon, 26 Jan 2026 10:01:32 +0200 From: Zhi Wang To: Joel Fernandes CC: , Danilo Krummrich , Alexandre Courbot , Alice Ryhl , David Airlie , Simona Vetter , "Paul Walmsley" , Palmer Dabbelt , Albert Ou , Alexandre Ghiti , Alistair Popple , Bjorn Helgaas , Miguel Ojeda , Alex Gaynor , Boqun Feng , Gary Guo , "=?UTF-8?B?QmrDtnJu?= Roy Baron" , Benno Lossin , Andreas Hindborg , Trevor Gross , , , , Subject: Re: [PATCH v1 5/5] gpu: nova-core: use checked arithmetic in RISC-V firmware parsing Message-ID: <20260126100132.7e566316.zhiw@nvidia.com> In-Reply-To: <20260124231830.3088323-6-joelagnelf@nvidia.com> References: <20260124231830.3088323-1-joelagnelf@nvidia.com> <20260124231830.3088323-6-joelagnelf@nvidia.com> Organization: NVIDIA X-Mailer: Claws Mail 4.3.1 (GTK 3.24.33; x86_64-pc-linux-gnu) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit X-NV-OnPremToCloud: ExternallySecured X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL02EPF0002992A:EE_|CY3PR12MB9679:EE_ X-MS-Office365-Filtering-Correlation-Id: dcedacaa-883f-4516-ceb2-08de5cb12dbe X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|7416014|82310400026|376014|36860700013; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?xp6B+qQ7yUUCWZef9q2UHGpBWVhOvjAMjz5+44asT2Y275GnAuqUbGSk/7Zl?= =?us-ascii?Q?eDeWJdld2zsOCUhywaoE7gj28GZ0+TGREsS8+8fRpN79tGOsJfu5RiH4u0Lb?= =?us-ascii?Q?vIDdfpfu6BVyDZgKfSOP/7bEu2FlmM2num40TB5rv8rnQXwkelRrNvvO1bwP?= =?us-ascii?Q?WUsjJXz9yu1V5kjetznsasv41WjvKk7FDf2rUW28AhgIJw0ll81GrDYHrrjy?= =?us-ascii?Q?vO3oCwsV0okb+kJKUmMnAUOHzTtW2IlTDGcZe+2hWxaKDGgTyB6piibo5FL0?= =?us-ascii?Q?0uDfdsitnH+o7TBB5j/korUZOCX5yjWCH4g/w1yxpXVWPSFRrkeKPPweH/kk?= =?us-ascii?Q?4+iSVlD0sXTyFBRGHRMyMcuhJqnU0tc+5ROLeaPQuDNVnmaCUC4jZob3UL54?= =?us-ascii?Q?AxkOzxd5xd81EK4r2IegV5560ouI7kv5wa4xHx4FobwLfneGR09qjlLoNzGn?= =?us-ascii?Q?0LmiPAjpQGvlllVG3KRB1OE3a0r48qfLlIA8sFjKdrLZRrcGdpDK6we2k9FV?= =?us-ascii?Q?hkU9niZhNLC/IwV8RhZcdZ61BhjFVA4zdrC+uRfMWIiMN7KWaIGeEqfvIIsX?= =?us-ascii?Q?JcisshlGZWS+goSO1dUorRT3xQb3v+yn5T6gX34I10IBWFZ8hgFlMYDFDdDR?= =?us-ascii?Q?ImC0X2/BjWMaaHEpj7l4SbRtaYbP8jQ2sbtrRnxZ4dOQeavTQlLSBuSotcTn?= =?us-ascii?Q?dNIr4SBNbqi3nR1RcXTCUO0+ah4xSj26yQdSdr2zkHFYbB9fLONC8+wPUERj?= =?us-ascii?Q?wc1xZuA3U7mI4aQ+bvkyqi+zuKYlZYSUtgBzKHNJm71UITgBdyUiaCSMqD0I?= =?us-ascii?Q?OM5IJ4LXzl6sIB7UDGMmU1GqapecG+zDb2707I88TTB6k9ZQjnfFumsOVVeP?= =?us-ascii?Q?FOjyyzA74Hf/7eRqH1kLZj3TgrvD4qlCYgpTIrbf1vWaZA9sKEhpo/tb4MHe?= =?us-ascii?Q?x3AkzkE8LU9lhVvSQivq3eWtHBYl8FLGEmzYJXt3GUBN+7ZuqB2bK47lQbYL?= =?us-ascii?Q?Ktf32oYazl9jcRDzpQJwPPPdk3c0SeqfhE8htNvL05oF44xA9GSIA/HBCc20?= =?us-ascii?Q?R73m53x4SLsnbu6KSTRABSLfSYiFt/SYQNXSocOo0EZtVhNpD6dReUli+4VK?= =?us-ascii?Q?kcq4EnT3rHRK2VuvSX+KAdyPSjA5rNddHCL3xwG7TGAbiIfY9gp1NuulhILq?= =?us-ascii?Q?zzI18zLTXeLkEtuHY7Gcyk0JSPjjdj82w7npT6bUHbeXbJYePvRf8ojfQafM?= =?us-ascii?Q?qzTuLh59XB2yq2LO1zarSv2EKwd9Mapo4cTrIm04+PZow/W7dpDe3Cj0HUnG?= =?us-ascii?Q?ff1XC/jFFobIZcFtk2BJrSreLsbBifACxWKLNPmcnyausOOtboPbiOEck6BF?= =?us-ascii?Q?fpSSG57QIW2Ps0o/Gd7R59o/+olaBPxNM3ixpbczodsTUjeRv8QY8cGXhaXh?= =?us-ascii?Q?44AA620QDfX1ZNAMis1cJ/oehK54khXhCj2LmeaN3RTYMOQTOK23syHUPGi2?= =?us-ascii?Q?S9gHd40PCtCsH4M4vygjR2AJNjYLdthVxR10vyAE8FsX2jF3sXgtO+O7W5JF?= =?us-ascii?Q?Rs7udI3WOiNpX7lBS2658gsE8oERECsN9p1+bSBUFRASE+Lh4ghOgEjKB2ZG?= =?us-ascii?Q?usEhKFZkoNdqqpblLp43d2miw5RkCRcCw6WlhMTApDuUNVCAMQEik2Vq3BKZ?= =?us-ascii?Q?B9rcWQ=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)(1800799024)(7416014)(82310400026)(376014)(36860700013);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jan 2026 08:01:57.7818 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: dcedacaa-883f-4516-ceb2-08de5cb12dbe 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: BL02EPF0002992A.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY3PR12MB9679 On Sat, 24 Jan 2026 18:18:30 -0500 Joel Fernandes wrote: > Use checked_add() when computing offsets from firmware-provided values > in the RISC-V firmware parsing code. These values come from the BinHdr > structure parsed from the firmware file header. > > Signed-off-by: Joel Fernandes > --- > drivers/gpu/nova-core/firmware/riscv.rs | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/nova-core/firmware/riscv.rs > b/drivers/gpu/nova-core/firmware/riscv.rs index > 28dfef63657a..97030bdd9991 100644 --- > a/drivers/gpu/nova-core/firmware/riscv.rs +++ > b/drivers/gpu/nova-core/firmware/riscv.rs @@ -47,10 +47,11 @@ impl > RmRiscvUCodeDesc { /// Fails if the header pointed at by `bin_fw` is not > within the bounds of the firmware image. fn new(bin_fw: > &BinFirmware<'_>) -> Result { let offset = > usize::from_safe_cast(bin_fw.hdr.header_offset); > + let end = offset.checked_add(size_of::()).ok_or(EINVAL)?; > > bin_fw > .fw > - .get(offset..offset + size_of::()) > + .get(offset..end) > .and_then(Self::from_bytes_copy) > .ok_or(EINVAL) > } > @@ -80,8 +81,9 @@ pub(crate) fn new(dev: &device::Device, > fw: &Firmware) -> Result< let ucode = { > let start = usize::from_safe_cast(bin_fw.hdr.data_offset); > let len = usize::from_safe_cast(bin_fw.hdr.data_size); > + let end = start.checked_add(len).ok_or(EINVAL)?; > > - DmaObject::from_data(dev, fw.data().get(start..start + > len).ok_or(EINVAL)?)? > + DmaObject::from_data(dev, > fw.data().get(start..end).ok_or(EINVAL)?)? }; > > Ok(Self { Reviewed-by: Zhi Wang