]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
drop nova patches from 6.18
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 24 Jul 2026 11:19:40 +0000 (13:19 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 24 Jul 2026 11:19:40 +0000 (13:19 +0200)
queue-6.18/gpu-nova-core-replace-as-with-from-conversions-where.patch [deleted file]
queue-6.18/gpu-nova-core-simplify-and_then-with-condition-to-filter.patch [deleted file]
queue-6.18/gpu-nova-core-vbios-avoid-reading-too-far-in-read_mo.patch [deleted file]
queue-6.18/gpu-nova-core-vbios-read-bittoken-using-frombytes.patch [deleted file]
queue-6.18/gpu-nova-core-vbios-stop-scanning-at-bios_max_scan_l.patch [deleted file]
queue-6.18/gpu-nova-core-vbios-use-checked-arithmetic-for-bios-.patch [deleted file]
queue-6.18/series

diff --git a/queue-6.18/gpu-nova-core-replace-as-with-from-conversions-where.patch b/queue-6.18/gpu-nova-core-replace-as-with-from-conversions-where.patch
deleted file mode 100644 (file)
index f2517bb..0000000
+++ /dev/null
@@ -1,197 +0,0 @@
-From f423c8bb630d47b918b823782c4e3302ac0490a3 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Wed, 29 Oct 2025 08:12:09 +0900
-Subject: gpu: nova-core: replace `as` with `from` conversions where possible
-
-From: Alexandre Courbot <acourbot@nvidia.com>
-
-[ Upstream commit 9a3c2f8a4f84960a48c056d0da88de3d09e6d622 ]
-
-The `as` operator is best avoided as it silently drops bits if the
-destination type is smaller that the source.
-
-For data types where this is clearly not the case, use `from` to
-unambiguously signal that these conversions are lossless.
-
-Acked-by: Danilo Krummrich <dakr@kernel.org>
-Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
-Message-ID: <20251029-nova-as-v3-1-6a30c7333ad9@nvidia.com>
-Stable-dep-of: 237c252be0db ("gpu: nova-core: vbios: read BitToken using FromBytes")
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/gpu/nova-core/falcon/hal/ga102.rs |  6 ++--
- drivers/gpu/nova-core/firmware/fwsec.rs   |  4 +--
- drivers/gpu/nova-core/vbios.rs            | 42 +++++++++++------------
- 3 files changed, 25 insertions(+), 27 deletions(-)
-
-diff --git a/drivers/gpu/nova-core/falcon/hal/ga102.rs b/drivers/gpu/nova-core/falcon/hal/ga102.rs
-index 0b1cbe7853b3e8..9db112736f354f 100644
---- a/drivers/gpu/nova-core/falcon/hal/ga102.rs
-+++ b/drivers/gpu/nova-core/falcon/hal/ga102.rs
-@@ -42,11 +42,9 @@ fn signature_reg_fuse_version_ga102(
-     engine_id_mask: u16,
-     ucode_id: u8,
- ) -> Result<u32> {
--    const NV_FUSE_OPT_FPF_SIZE: u8 = regs::NV_FUSE_OPT_FPF_SIZE as u8;
--
-     // Each engine has 16 ucode version registers numbered from 1 to 16.
--    let ucode_idx = match ucode_id {
--        1..=NV_FUSE_OPT_FPF_SIZE => (ucode_id - 1) as usize,
-+    let ucode_idx = match usize::from(ucode_id) {
-+        ucode_id @ 1..=regs::NV_FUSE_OPT_FPF_SIZE => ucode_id - 1,
-         _ => {
-             dev_err!(dev, "invalid ucode id {:#x}", ucode_id);
-             return Err(EINVAL);
-diff --git a/drivers/gpu/nova-core/firmware/fwsec.rs b/drivers/gpu/nova-core/firmware/fwsec.rs
-index 8edbb5c0572c9d..dd3420aaa2bf29 100644
---- a/drivers/gpu/nova-core/firmware/fwsec.rs
-+++ b/drivers/gpu/nova-core/firmware/fwsec.rs
-@@ -259,13 +259,13 @@ impl FirmwareDmaObject<FwsecFirmware, Unsigned> {
-         }
-         // Find the DMEM mapper section in the firmware.
--        for i in 0..hdr.entry_count as usize {
-+        for i in 0..usize::from(hdr.entry_count) {
-             let app: &FalconAppifV1 =
-             // SAFETY: we have exclusive access to `dma_object`.
-             unsafe {
-                 transmute(
-                     &dma_object,
--                    hdr_offset + hdr.header_size as usize + i * hdr.entry_size as usize
-+                    hdr_offset + usize::from(hdr.header_size) + i * usize::from(hdr.entry_size)
-                 )
-             }?;
-diff --git a/drivers/gpu/nova-core/vbios.rs b/drivers/gpu/nova-core/vbios.rs
-index 46e67f0c6901c0..8bbee9a53b38df 100644
---- a/drivers/gpu/nova-core/vbios.rs
-+++ b/drivers/gpu/nova-core/vbios.rs
-@@ -325,7 +325,7 @@ impl PcirStruct {
-     /// Calculate image size in bytes from 512-byte blocks.
-     fn image_size_bytes(&self) -> usize {
--        self.image_len as usize * 512
-+        usize::from(self.image_len) * 512
-     }
- }
-@@ -403,13 +403,13 @@ impl BitToken {
-         let header = &image.bit_header;
-         // Offset to the first token entry
--        let tokens_start = image.bit_offset + header.header_size as usize;
-+        let tokens_start = image.bit_offset + usize::from(header.header_size);
--        for i in 0..header.token_entries as usize {
--            let entry_offset = tokens_start + (i * header.token_size as usize);
-+        for i in 0..usize::from(header.token_entries) {
-+            let entry_offset = tokens_start + (i * usize::from(header.token_size));
-             // Make sure we don't go out of bounds
--            if entry_offset + header.token_size as usize > image.base.data.len() {
-+            if entry_offset + usize::from(header.token_size) > image.base.data.len() {
-                 return Err(EINVAL);
-             }
-@@ -565,7 +565,7 @@ impl NpdeStruct {
-     /// Calculate image size in bytes from 512-byte blocks.
-     fn image_size_bytes(&self) -> usize {
--        self.subimage_len as usize * 512
-+        usize::from(self.subimage_len) * 512
-     }
-     /// Try to find NPDE in the data, the NPDE is right after the PCIR.
-@@ -577,8 +577,8 @@ impl NpdeStruct {
-     ) -> Option<Self> {
-         // Calculate the offset where NPDE might be located
-         // NPDE should be right after the PCIR structure, aligned to 16 bytes
--        let pcir_offset = rom_header.pci_data_struct_offset as usize;
--        let npde_start = (pcir_offset + pcir.pci_data_struct_len as usize + 0x0F) & !0x0F;
-+        let pcir_offset = usize::from(rom_header.pci_data_struct_offset);
-+        let npde_start = (pcir_offset + usize::from(pcir.pci_data_struct_len) + 0x0F) & !0x0F;
-         // Check if we have enough data
-         if npde_start + core::mem::size_of::<Self>() > data.len() {
-@@ -772,7 +772,7 @@ impl BiosImageBase {
-             .inspect_err(|e| dev_err!(dev, "Failed to create PciRomHeader: {:?}\n", e))?;
-         // Get the PCI Data Structure using the pointer from the ROM header.
--        let pcir_offset = rom_header.pci_data_struct_offset as usize;
-+        let pcir_offset = usize::from(rom_header.pci_data_struct_offset);
-         let pcir_data = data
-             .get(pcir_offset..pcir_offset + core::mem::size_of::<PcirStruct>())
-             .ok_or(EINVAL)
-@@ -840,12 +840,12 @@ impl PciAtBiosImage {
-         let token = self.get_bit_token(BIT_TOKEN_ID_FALCON_DATA)?;
-         // Make sure we don't go out of bounds
--        if token.data_offset as usize + 4 > self.base.data.len() {
-+        if usize::from(token.data_offset) + 4 > self.base.data.len() {
-             return Err(EINVAL);
-         }
-         // read the 4 bytes at the offset specified in the token
--        let offset = token.data_offset as usize;
-+        let offset = usize::from(token.data_offset);
-         let bytes: [u8; 4] = self.base.data[offset..offset + 4].try_into().map_err(|_| {
-             dev_err!(self.base.dev, "Failed to convert data slice to array");
-             EINVAL
-@@ -921,9 +921,9 @@ impl PmuLookupTable {
-             return Err(EINVAL);
-         }
--        let header_len = data[1] as usize;
--        let entry_len = data[2] as usize;
--        let entry_count = data[3] as usize;
-+        let header_len = usize::from(data[1]);
-+        let entry_len = usize::from(data[2]);
-+        let entry_count = usize::from(data[3]);
-         let required_bytes = header_len + (entry_count * entry_len);
-@@ -946,9 +946,9 @@ impl PmuLookupTable {
-         Ok(PmuLookupTable {
-             version: data[0],
--            header_len: header_len as u8,
--            entry_len: entry_len as u8,
--            entry_count: entry_count as u8,
-+            header_len: data[1],
-+            entry_len: data[2],
-+            entry_count: data[3],
-             table_data,
-         })
-     }
-@@ -958,7 +958,7 @@ impl PmuLookupTable {
-             return Err(EINVAL);
-         }
--        let index = (idx as usize) * self.entry_len as usize;
-+        let index = (usize::from(idx)) * usize::from(self.entry_len);
-         PmuLookupTableEntry::new(&self.table_data[index..])
-     }
-@@ -1127,8 +1127,8 @@ impl FwSecBiosImage {
-     pub(crate) fn sigs(&self, desc: &FalconUCodeDescV3) -> Result<&[Bcrt30Rsa3kSignature]> {
-         // The signatures data follows the descriptor.
-         let sigs_data_offset = self.falcon_ucode_offset + core::mem::size_of::<FalconUCodeDescV3>();
--        let sigs_size =
--            desc.signature_count as usize * core::mem::size_of::<Bcrt30Rsa3kSignature>();
-+        let sigs_count = usize::from(desc.signature_count);
-+        let sigs_size = sigs_count * core::mem::size_of::<Bcrt30Rsa3kSignature>();
-         // Make sure the data is within bounds.
-         if sigs_data_offset + sigs_size > self.base.data.len() {
-@@ -1148,7 +1148,7 @@ impl FwSecBiosImage {
-                     .as_ptr()
-                     .add(sigs_data_offset)
-                     .cast::<Bcrt30Rsa3kSignature>(),
--                desc.signature_count as usize,
-+                sigs_count,
-             )
-         })
-     }
--- 
-2.53.0
-
diff --git a/queue-6.18/gpu-nova-core-simplify-and_then-with-condition-to-filter.patch b/queue-6.18/gpu-nova-core-simplify-and_then-with-condition-to-filter.patch
deleted file mode 100644 (file)
index fcbe16e..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-From 16df3873c80388a71c4695909a51be0c809b889c Mon Sep 17 00:00:00 2001
-From: Eliot Courtney <ecourtney@nvidia.com>
-Date: Thu, 23 Apr 2026 16:11:44 +0900
-Subject: gpu: nova-core: simplify and_then with condition to filter
-
-From: Eliot Courtney <ecourtney@nvidia.com>
-
-commit 16df3873c80388a71c4695909a51be0c809b889c upstream.
-
-This code is more simply expressed using Option::filter instead of the
-and_then with conditional.
-
-This fixes the following warning with latest nightly Rust clippy build:
-
-warning: manual implementation of `Option::filter`
-   --> drivers/gpu/nova-core/firmware.rs:391:14
-    |
-391 |               .and_then(|hdr| {
-    |  ______________^
-392 | |                 if hdr.bin_magic == BIN_MAGIC {
-393 | |                     Some(hdr)
-394 | |                 } else {
-...   |
-397 | |             })
-    | |______________^ help: try: `filter(|hdr| hdr.bin_magic == BIN_MAGIC)`
-    |
-    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_filter
-    = note: `-D clippy::manual-filter` implied by `-D warnings`
-    = help: to override `-D warnings` add `#[allow(clippy::manual_filter)]`
-
-Cc: stable@vger.kernel.org
-Fixes: d6cb7319e64e ("gpu: nova-core: firmware: add support for common firmware header")
-Signed-off-by: Eliot Courtney <ecourtney@nvidia.com>
-Acked-by: Danilo Krummrich <dakr@kernel.org>
-Reviewed-by: Alice Ryhl <aliceryhl@google.com>
-Reviewed-by: Gary Guo <gary@garyguo.net>
-Link: https://patch.msgid.link/20260423-fix-filter-v1-1-b3b197c65daf@nvidia.com
-[aliceryhl: add Fixes: tag and quote the warning it fixes]
-Signed-off-by: Alice Ryhl <aliceryhl@google.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- drivers/gpu/nova-core/firmware.rs |    8 +-------
- 1 file changed, 1 insertion(+), 7 deletions(-)
-
---- a/drivers/gpu/nova-core/firmware.rs
-+++ b/drivers/gpu/nova-core/firmware.rs
-@@ -176,13 +176,7 @@ impl<'a> BinFirmware<'a> {
-             // Extract header.
-             .and_then(BinHdr::from_bytes_copy)
-             // Validate header.
--            .and_then(|hdr| {
--                if hdr.bin_magic == BIN_MAGIC {
--                    Some(hdr)
--                } else {
--                    None
--                }
--            })
-+            .filter(|hdr| hdr.bin_magic == BIN_MAGIC)
-             .map(|hdr| Self { hdr, fw })
-             .ok_or(EINVAL)
-     }
diff --git a/queue-6.18/gpu-nova-core-vbios-avoid-reading-too-far-in-read_mo.patch b/queue-6.18/gpu-nova-core-vbios-avoid-reading-too-far-in-read_mo.patch
deleted file mode 100644 (file)
index 9b1264a..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-From 76654af5abb2fe81b4847b6a137bf12124ead740 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Mon, 25 May 2026 22:57:21 +0900
-Subject: gpu: nova-core: vbios: avoid reading too far in read_more_at_offset
-
-From: Eliot Courtney <ecourtney@nvidia.com>
-
-[ Upstream commit 33f1402bcfa6cfd85fa265ce6fa5c6bb7d981c6d ]
-
-Fix bug where `read_more_at_offset` would unnecessarily read more data.
-This happens when the window to read has some part cached and some part
-not. It would read `len` bytes instead of just the uncached portion,
-which could read past `BIOS_MAX_SCAN_LEN`.
-
-Fixes: 6fda04e7f0cd ("gpu: nova-core: vbios: Add base support for VBIOS construction and iteration")
-Reviewed-by: John Hubbard <jhubbard@nvidia.com>
-Signed-off-by: Eliot Courtney <ecourtney@nvidia.com>
-Link: https://patch.msgid.link/20260525-fix-vbios-v5-3-e5e455251537@nvidia.com
-Signed-off-by: Danilo Krummrich <dakr@kernel.org>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/gpu/nova-core/vbios.rs | 25 +++++++++++--------------
- 1 file changed, 11 insertions(+), 14 deletions(-)
-
-diff --git a/drivers/gpu/nova-core/vbios.rs b/drivers/gpu/nova-core/vbios.rs
-index 53502efc418364..46e67f0c6901c0 100644
---- a/drivers/gpu/nova-core/vbios.rs
-+++ b/drivers/gpu/nova-core/vbios.rs
-@@ -59,8 +59,13 @@ impl<'a> VbiosIterator<'a> {
-     /// Read bytes from the ROM at the current end of the data vector.
-     fn read_more(&mut self, len: usize) -> Result {
--        let current_len = self.data.len();
--        let start = ROM_OFFSET + current_len;
-+        let start = self.data.len();
-+        let end = start + len;
-+
-+        if end > BIOS_MAX_SCAN_LEN {
-+            dev_err!(self.dev, "Error: exceeded BIOS scan limit.\n");
-+            return Err(EINVAL);
-+        }
-         // Ensure length is a multiple of 4 for 32-bit reads
-         if len % core::mem::size_of::<u32>() != 0 {
-@@ -74,9 +79,9 @@ impl<'a> VbiosIterator<'a> {
-         self.data.reserve(len, GFP_KERNEL)?;
-         // Read ROM data bytes and push directly to `data`.
--        for addr in (start..start + len).step_by(core::mem::size_of::<u32>()) {
-+        for addr in (start..end).step_by(core::mem::size_of::<u32>()) {
-             // Read 32-bit word from the VBIOS ROM
--            let word = self.bar0.try_read32(addr)?;
-+            let word = self.bar0.try_read32(ROM_OFFSET + addr)?;
-             // Convert the `u32` to a 4 byte array and push each byte.
-             word.to_ne_bytes()
-@@ -89,17 +94,9 @@ impl<'a> VbiosIterator<'a> {
-     /// Read bytes at a specific offset, filling any gap.
-     fn read_more_at_offset(&mut self, offset: usize, len: usize) -> Result {
--        if offset > BIOS_MAX_SCAN_LEN {
--            dev_err!(self.dev, "Error: exceeded BIOS scan limit.\n");
--            return Err(EINVAL);
--        }
--
--        // If `offset` is beyond current data size, fill the gap first.
--        let current_len = self.data.len();
--        let gap_bytes = offset.saturating_sub(current_len);
-+        let end = offset.checked_add(len).ok_or(EINVAL)?;
--        // Now read the requested bytes at the offset.
--        self.read_more(gap_bytes + len)
-+        self.read_more(end.saturating_sub(self.data.len()))
-     }
-     /// Read a BIOS image at a specific offset and create a [`BiosImage`] from it.
--- 
-2.53.0
-
diff --git a/queue-6.18/gpu-nova-core-vbios-read-bittoken-using-frombytes.patch b/queue-6.18/gpu-nova-core-vbios-read-bittoken-using-frombytes.patch
deleted file mode 100644 (file)
index 60a6a11..0000000
+++ /dev/null
@@ -1,96 +0,0 @@
-From d12a60d8eecd76885d18a3559cfb566ea3842455 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Mon, 25 May 2026 22:57:22 +0900
-Subject: gpu: nova-core: vbios: read BitToken using FromBytes
-
-From: Eliot Courtney <ecourtney@nvidia.com>
-
-[ Upstream commit 237c252be0db616c93e4984369db7e74bb797564 ]
-
-If `header.token_size` is smaller than `BitToken`, then we currently can
-read past the end of `image.base.data`. Use checked arithmetic for
-computing offsets and simplify reading it in using `FromBytes`.
-
-Fixes: dc70c6ae2441 ("gpu: nova-core: vbios: Add support to look up PMU table in FWSEC")
-Reviewed-by: John Hubbard <jhubbard@nvidia.com>
-Signed-off-by: Eliot Courtney <ecourtney@nvidia.com>
-Link: https://patch.msgid.link/20260525-fix-vbios-v5-4-e5e455251537@nvidia.com
-Signed-off-by: Danilo Krummrich <dakr@kernel.org>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/gpu/nova-core/vbios.rs | 37 +++++++++++++++++-----------------
- 1 file changed, 18 insertions(+), 19 deletions(-)
-
-diff --git a/drivers/gpu/nova-core/vbios.rs b/drivers/gpu/nova-core/vbios.rs
-index 8bbee9a53b38df..56fcdd8bc02acf 100644
---- a/drivers/gpu/nova-core/vbios.rs
-+++ b/drivers/gpu/nova-core/vbios.rs
-@@ -382,7 +382,7 @@ impl BitHeader {
- /// BIT Token Entry: Records in the BIT table followed by the BIT header.
- #[derive(Debug, Clone, Copy)]
--#[expect(dead_code)]
-+#[repr(C)]
- struct BitToken {
-     /// 00h: Token identifier
-     id: u8,
-@@ -394,6 +394,9 @@ struct BitToken {
-     data_offset: u16,
- }
-+// SAFETY: all bit patterns are valid for `BitToken`.
-+unsafe impl FromBytes for BitToken {}
-+
- // Define the token ID for the Falcon data
- const BIT_TOKEN_ID_FALCON_DATA: u8 = 0x70;
-@@ -401,32 +404,28 @@ impl BitToken {
-     /// Find a BIT token entry by BIT ID in a PciAtBiosImage
-     fn from_id(image: &PciAtBiosImage, token_id: u8) -> Result<Self> {
-         let header = &image.bit_header;
-+        let entry_size = usize::from(header.token_size);
-         // Offset to the first token entry
-         let tokens_start = image.bit_offset + usize::from(header.header_size);
-         for i in 0..usize::from(header.token_entries) {
--            let entry_offset = tokens_start + (i * usize::from(header.token_size));
-+            let entry_offset = i
-+                .checked_mul(entry_size)
-+                .and_then(|offset| tokens_start.checked_add(offset))
-+                .ok_or(EINVAL)?;
-+            let entry = image
-+                .base
-+                .data
-+                .get(entry_offset..)
-+                .and_then(|data| data.get(..entry_size))
-+                .ok_or(EINVAL)?;
--            // Make sure we don't go out of bounds
--            if entry_offset + usize::from(header.token_size) > image.base.data.len() {
--                return Err(EINVAL);
--            }
-+            let (token, _) = BitToken::from_bytes_copy_prefix(entry).ok_or(EINVAL)?;
-             // Check if this token has the requested ID
--            if image.base.data[entry_offset] == token_id {
--                return Ok(BitToken {
--                    id: image.base.data[entry_offset],
--                    data_version: image.base.data[entry_offset + 1],
--                    data_size: u16::from_le_bytes([
--                        image.base.data[entry_offset + 2],
--                        image.base.data[entry_offset + 3],
--                    ]),
--                    data_offset: u16::from_le_bytes([
--                        image.base.data[entry_offset + 4],
--                        image.base.data[entry_offset + 5],
--                    ]),
--                });
-+            if token.id == token_id {
-+                return Ok(token);
-             }
-         }
--- 
-2.53.0
-
diff --git a/queue-6.18/gpu-nova-core-vbios-stop-scanning-at-bios_max_scan_l.patch b/queue-6.18/gpu-nova-core-vbios-stop-scanning-at-bios_max_scan_l.patch
deleted file mode 100644 (file)
index a649768..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-From df43d900fa06ef748b583f1ceaf50750c5cb89bf Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Mon, 25 May 2026 22:57:19 +0900
-Subject: gpu: nova-core: vbios: stop scanning at BIOS_MAX_SCAN_LEN
-
-From: Eliot Courtney <ecourtney@nvidia.com>
-
-[ Upstream commit fc7c1054b6f983ae2f3e100a24cc87908ae9f4b7 ]
-
-Current code lets `current_offset` go to `BIOS_MAX_SCAN_LEN` which is
-one byte too far.
-
-Fixes: 6fda04e7f0cd ("gpu: nova-core: vbios: Add base support for VBIOS construction and iteration")
-Reviewed-by: Joel Fernandes <joelagnelf@nvidia.com>
-Reviewed-by: John Hubbard <jhubbard@nvidia.com>
-Signed-off-by: Eliot Courtney <ecourtney@nvidia.com>
-Link: https://patch.msgid.link/20260525-fix-vbios-v5-1-e5e455251537@nvidia.com
-Signed-off-by: Danilo Krummrich <dakr@kernel.org>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/gpu/nova-core/vbios.rs | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/drivers/gpu/nova-core/vbios.rs b/drivers/gpu/nova-core/vbios.rs
-index 71fbe71b84db9d..b19c577e3a2320 100644
---- a/drivers/gpu/nova-core/vbios.rs
-+++ b/drivers/gpu/nova-core/vbios.rs
-@@ -146,7 +146,7 @@ impl<'a> Iterator for VbiosIterator<'a> {
-             return None;
-         }
--        if self.current_offset > BIOS_MAX_SCAN_LEN {
-+        if self.current_offset >= BIOS_MAX_SCAN_LEN {
-             dev_err!(self.dev, "Error: exceeded BIOS scan limit, stopping scan\n");
-             return None;
-         }
--- 
-2.53.0
-
diff --git a/queue-6.18/gpu-nova-core-vbios-use-checked-arithmetic-for-bios-.patch b/queue-6.18/gpu-nova-core-vbios-use-checked-arithmetic-for-bios-.patch
deleted file mode 100644 (file)
index 6b68226..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-From ac3402e451480e364ef4f833a24989742879a10f Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Mon, 25 May 2026 22:57:20 +0900
-Subject: gpu: nova-core: vbios: use checked arithmetic for bios image range
- end
-
-From: Eliot Courtney <ecourtney@nvidia.com>
-
-[ Upstream commit 7a1d09e477b6496f13f92b84ed9b2eab191b3366 ]
-
-`read_bios_image_at_offset` is called with a length from the VBIOS
-header, so we should be more defensive here and use checked arithmetic.
-
-Fixes: 6fda04e7f0cd ("gpu: nova-core: vbios: Add base support for VBIOS construction and iteration")
-Reviewed-by: Joel Fernandes <joelagnelf@nvidia.com>
-Reviewed-by: John Hubbard <jhubbard@nvidia.com>
-Signed-off-by: Eliot Courtney <ecourtney@nvidia.com>
-Link: https://patch.msgid.link/20260525-fix-vbios-v5-2-e5e455251537@nvidia.com
-Signed-off-by: Danilo Krummrich <dakr@kernel.org>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/gpu/nova-core/vbios.rs | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/drivers/gpu/nova-core/vbios.rs b/drivers/gpu/nova-core/vbios.rs
-index b19c577e3a2320..53502efc418364 100644
---- a/drivers/gpu/nova-core/vbios.rs
-+++ b/drivers/gpu/nova-core/vbios.rs
-@@ -112,8 +112,8 @@ impl<'a> VbiosIterator<'a> {
-         len: usize,
-         context: &str,
-     ) -> Result<BiosImage> {
--        let data_len = self.data.len();
--        if offset + len > data_len {
-+        let end = offset.checked_add(len).ok_or(EINVAL)?;
-+        if end > self.data.len() {
-             self.read_more_at_offset(offset, len).inspect_err(|e| {
-                 dev_err!(
-                     self.dev,
-@@ -124,7 +124,7 @@ impl<'a> VbiosIterator<'a> {
-             })?;
-         }
--        BiosImage::new(self.dev, &self.data[offset..offset + len]).inspect_err(|err| {
-+        BiosImage::new(self.dev, &self.data[offset..end]).inspect_err(|err| {
-             dev_err!(
-                 self.dev,
-                 "Failed to {} at offset {:#x}: {:?}\n",
--- 
-2.53.0
-
index 5156f6601b69b92b099a2e22e12b26d339589c3e..0796ec8195bc450b8d9dc3a064011f86daaeed16 100644 (file)
@@ -226,11 +226,6 @@ pinctrl-spacemit-fix-null-check-in-spacemit_pin_set_.patch
 rdma-irdma-fix-out-of-bounds-write-in-irdma_copy_use.patch
 rdma-rxe-fix-a-use-after-free-problem-in-rxe_mmap.patch
 ib-mlx4-fix-refcount-leak-in-add_port-error-path.patch
-gpu-nova-core-vbios-stop-scanning-at-bios_max_scan_l.patch
-gpu-nova-core-vbios-use-checked-arithmetic-for-bios-.patch
-gpu-nova-core-vbios-avoid-reading-too-far-in-read_mo.patch
-gpu-nova-core-replace-as-with-from-conversions-where.patch
-gpu-nova-core-vbios-read-bittoken-using-frombytes.patch
 rdma-hns-fix-warning-in-poll-cq-direct-mode.patch
 rdma-hns-fix-log-flood-after-cmd_mbox-failure.patch
 rdma-counter-fix-incorrect-port-index-in-rdma_counte.patch
@@ -1185,7 +1180,6 @@ netfilter-nf_conncount-fix-zone-comparison-in-tuple-dedup.patch
 netfilter-ecache-fix-inverted-time_after-check.patch
 netfilter-xt_nat-reject-unsupported-target-families.patch
 netfilter-bridge-fix-stale-prevhdr-pointer-in-br_ip6_fragment.patch
-gpu-nova-core-simplify-and_then-with-condition-to-filter.patch
 gpu-host1x-fix-device-reference-leak-in-host1x_device_parse_dt-error-path.patch
 soc-ti-k3-ringacc-fix-access-mode-for-k3_ringacc_ring_pop_tail_io-proxy.patch
 soc-fsl-qe-panic-on-ioremap-failure-in-qe_reset.patch