+++ /dev/null
-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
-
+++ /dev/null
-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)
- }
+++ /dev/null
-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
-
+++ /dev/null
-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
-
+++ /dev/null
-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
-
+++ /dev/null
-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
-
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
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