From: John Hubbard <jhubbard@nvidia.com>
To: Eliot Courtney <ecourtney@nvidia.com>,
Danilo Krummrich <dakr@kernel.org>,
Alice Ryhl <aliceryhl@google.com>,
Alexandre Courbot <acourbot@nvidia.com>,
David Airlie <airlied@gmail.com>, Simona Vetter <simona@ffwll.ch>
Cc: Alistair Popple <apopple@nvidia.com>,
Timur Tabi <ttabi@nvidia.com>,
nova-gpu@lists.linux.dev, rust-for-linux@vger.kernel.org,
dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org,
Joel Fernandes <joelagnelf@nvidia.com>
Subject: Re: [PATCH v4 06/20] gpu: nova-core: vbios: use checked access in `FwSecBiosImage::header`
Date: Fri, 22 May 2026 19:48:50 -0700 [thread overview]
Message-ID: <33e06db2-a0bf-4d3d-bb8d-ac4c1a042f3a@nvidia.com> (raw)
In-Reply-To: <20260519-fix-vbios-v4-6-5d3f210c5602@nvidia.com>
On 5/18/26 7:55 PM, Eliot Courtney wrote:
> Use checked access in `FwSecBiosImage::header` for getting the header
> version since the value is firmware derived.
>
> Fixes: 47c4846e4319 ("gpu: nova-core: vbios: Add support for FWSEC ucode extraction")
> Reviewed-by: Joel Fernandes <joelagnelf@nvidia.com>
> Signed-off-by: Eliot Courtney <ecourtney@nvidia.com>
> ---
> drivers/gpu/nova-core/vbios.rs | 17 +++++++----------
> 1 file changed, 7 insertions(+), 10 deletions(-)
Reviewed-by: John Hubbard <jhubbard@nvidia.com>
thanks,
--
John Hubbard
>
> diff --git a/drivers/gpu/nova-core/vbios.rs b/drivers/gpu/nova-core/vbios.rs
> index c62d918a3041..48a46684e279 100644
> --- a/drivers/gpu/nova-core/vbios.rs
> +++ b/drivers/gpu/nova-core/vbios.rs
> @@ -1077,17 +1077,14 @@ fn build(self) -> Result<FwSecBiosImage> {
> impl FwSecBiosImage {
> /// Get the FwSec header ([`FalconUCodeDesc`]).
> pub(crate) fn header(&self) -> Result<FalconUCodeDesc> {
> - // Get the falcon ucode offset that was found in setup_falcon_data.
> - let falcon_ucode_offset = self.falcon_ucode_offset;
> + let data = self
> + .base
> + .data
> + .get(self.falcon_ucode_offset..)
> + .ok_or(EINVAL)?;
>
> - // Read the first 4 bytes to get the version.
> - let hdr_bytes: [u8; 4] = self.base.data[falcon_ucode_offset..falcon_ucode_offset + 4]
> - .try_into()
> - .map_err(|_| EINVAL)?;
> - let hdr = u32::from_le_bytes(hdr_bytes);
> - let ver = (hdr & 0xff00) >> 8;
> -
> - let data = self.base.data.get(falcon_ucode_offset..).ok_or(EINVAL)?;
> + // Read the version byte from the header.
> + let ver = data.get(1).copied().ok_or(EINVAL)?;
> match ver {
> 2 => {
> let v2 = FalconUCodeDescV2::from_bytes_copy_prefix(data)
>
next prev parent reply other threads:[~2026-05-23 2:48 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-19 2:54 [PATCH v4 00/20] gpu: nova-core: vbios: harden various array accesses and refactor Eliot Courtney
2026-05-19 2:54 ` [PATCH v4 01/20] gpu: nova-core: vbios: stop scanning at BIOS_MAX_SCAN_LEN Eliot Courtney
2026-05-23 2:47 ` John Hubbard
2026-05-19 2:54 ` [PATCH v4 02/20] gpu: nova-core: vbios: use checked arithmetic for bios image range end Eliot Courtney
2026-05-23 2:47 ` John Hubbard
2026-05-19 2:54 ` [PATCH v4 03/20] gpu: nova-core: vbios: avoid reading too far in read_more_at_offset Eliot Courtney
2026-05-23 2:48 ` John Hubbard
2026-05-19 2:54 ` [PATCH v4 04/20] gpu: nova-core: vbios: read BitToken using FromBytes Eliot Courtney
2026-05-23 2:48 ` John Hubbard
2026-05-19 2:54 ` [PATCH v4 05/20] gpu: nova-core: vbios: use checked ops and accesses in `FwSecBiosImage::ucode` Eliot Courtney
2026-05-23 2:48 ` John Hubbard
2026-05-19 2:55 ` [PATCH v4 06/20] gpu: nova-core: vbios: use checked access in `FwSecBiosImage::header` Eliot Courtney
2026-05-23 2:48 ` John Hubbard [this message]
2026-05-19 2:55 ` [PATCH v4 07/20] gpu: nova-core: vbios: use checked accesses in `setup_falcon_data` Eliot Courtney
2026-05-23 2:49 ` John Hubbard
2026-05-19 2:55 ` [PATCH v4 08/20] gpu: nova-core: vbios: drop unused falcon_data_offset from FwSecBiosBuilder Eliot Courtney
2026-05-23 2:49 ` John Hubbard
2026-05-19 2:55 ` [PATCH v4 09/20] gpu: nova-core: vbios: keep PmuLookupTable local in setup_falcon_data Eliot Courtney
2026-05-23 2:49 ` John Hubbard
2026-05-19 2:55 ` [PATCH v4 10/20] gpu: nova-core: vbios: compute FWSEC-relative Falcon data offset Eliot Courtney
2026-05-23 2:50 ` John Hubbard
2026-05-19 2:55 ` [PATCH v4 11/20] gpu: nova-core: vbios: simplify setup_falcon_data Eliot Courtney
2026-05-23 2:50 ` John Hubbard
2026-05-19 2:55 ` [PATCH v4 12/20] gpu: nova-core: vbios: read PMU lookup entries using FromBytes Eliot Courtney
2026-05-23 2:55 ` John Hubbard
2026-05-19 2:55 ` [PATCH v4 13/20] gpu: nova-core: vbios: store PMU lookup entries in a KVVec Eliot Courtney
2026-05-23 2:56 ` John Hubbard
2026-05-19 2:55 ` [PATCH v4 14/20] gpu: nova-core: vbios: construct `FwSecBiosImage` directly from BIOS images Eliot Courtney
2026-05-23 0:13 ` John Hubbard
2026-05-25 12:38 ` Eliot Courtney
2026-05-23 2:46 ` John Hubbard
2026-05-19 2:55 ` [PATCH v4 15/20] gpu: nova-core: vbios: use the first PCI-AT and FWSEC images Eliot Courtney
2026-05-23 3:35 ` John Hubbard
2026-05-19 2:55 ` [PATCH v4 16/20] gpu: nova-core: vbios: use let-else in Vbios::new Eliot Courtney
2026-05-23 3:05 ` John Hubbard
2026-05-19 2:55 ` [PATCH v4 17/20] gpu: nova-core: vbios: remove unnecessary fields in PciRomHeader Eliot Courtney
2026-05-23 3:05 ` John Hubbard
2026-05-19 2:55 ` [PATCH v4 18/20] gpu: nova-core: vbios: drop unused image wrappers Eliot Courtney
2026-05-23 3:06 ` John Hubbard
2026-05-19 2:55 ` [PATCH v4 19/20] gpu: nova-core: vbios: drop redundant TryFrom import Eliot Courtney
2026-05-23 3:06 ` John Hubbard
2026-05-19 2:55 ` [PATCH v4 20/20] gpu: nova-core: vbios: move constants and functions to be associated Eliot Courtney
2026-05-23 3:10 ` John Hubbard
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=33e06db2-a0bf-4d3d-bb8d-ac4c1a042f3a@nvidia.com \
--to=jhubbard@nvidia.com \
--cc=acourbot@nvidia.com \
--cc=airlied@gmail.com \
--cc=aliceryhl@google.com \
--cc=apopple@nvidia.com \
--cc=dakr@kernel.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=ecourtney@nvidia.com \
--cc=joelagnelf@nvidia.com \
--cc=linux-kernel@vger.kernel.org \
--cc=nova-gpu@lists.linux.dev \
--cc=rust-for-linux@vger.kernel.org \
--cc=simona@ffwll.ch \
--cc=ttabi@nvidia.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.