Monitor vulnerabilities like this one. Sign up free to get alerted when software you use is affected.

Linux Kernel: Tegra210 Quad SPI Driver Data Corruption Risk

UBUNTU-CVE-2026-23207
Summary

A bug in the Linux kernel's Tegra210 Quad SPI driver could cause data corruption or crashes. This issue has been fixed in a recent update, which ensures that the driver checks for missing data before accessing it. Affected users should install the latest kernel update to prevent data corruption and system crashes.

What to do

No fix is available yet. Check with your software vendor for updates.

Affected software
VendorProductAffected versionsFix available
canonical linux-hwe-edge All versions
canonical linux-aws-5.0 All versions
canonical linux-aws-5.3 All versions
canonical linux-azure All versions
canonical linux-azure-5.3 All versions
canonical linux-azure-edge All versions
canonical linux-gcp All versions
canonical linux-gcp-5.3 All versions
canonical linux-gke-4.15 All versions
canonical linux-gke-5.4 All versions
canonical linux-gkeop-5.4 All versions
canonical linux-hwe All versions
canonical linux-hwe-edge All versions
canonical linux-oem All versions
canonical linux-oracle-5.0 All versions
canonical linux-oracle-5.3 All versions
canonical linux-aws-5.11 All versions
canonical linux-aws-5.13 All versions
canonical linux-aws-5.8 All versions
canonical linux-azure-5.11 All versions
canonical linux-azure-5.13 All versions
canonical linux-azure-5.8 All versions
canonical linux-azure-fde All versions
canonical linux-gcp-5.11 All versions
canonical linux-gcp-5.13 All versions
canonical linux-gcp-5.8 All versions
canonical linux-gke All versions
canonical linux-gke-5.15 All versions
canonical linux-gkeop All versions
canonical linux-gkeop-5.15 All versions
canonical linux-hwe-5.11 All versions
canonical linux-hwe-5.13 All versions
canonical linux-hwe-5.15 All versions
canonical linux-hwe-5.8 All versions
canonical linux-intel-5.13 All versions
canonical linux-lowlatency-hwe-5.15 All versions
canonical linux-oem-5.10 All versions
canonical linux-oem-5.13 All versions
canonical linux-oem-5.14 All versions
canonical linux-oem-5.6 All versions
canonical linux-oracle-5.11 All versions
canonical linux-oracle-5.13 All versions
canonical linux-oracle-5.8 All versions
canonical linux-raspi2 All versions
canonical linux-riscv All versions
canonical linux-riscv-5.11 All versions
canonical linux-riscv-5.8 All versions
canonical linux All versions
canonical linux-allwinner-5.19 All versions
canonical linux-aws-5.19 All versions
canonical linux-aws-6.2 All versions
canonical linux-aws-6.5 All versions
canonical linux-azure All versions
canonical linux-azure-5.19 All versions
canonical linux-azure-6.2 All versions
canonical linux-azure-6.5 All versions
canonical linux-azure-fde All versions
canonical linux-azure-fde-5.19 All versions
canonical linux-azure-fde-6.2 All versions
canonical linux-gcp All versions
canonical linux-gcp-5.19 All versions
canonical linux-gcp-6.2 All versions
canonical linux-gcp-6.5 All versions
canonical linux-gkeop All versions
canonical linux-hwe-5.19 All versions
canonical linux-hwe-6.2 All versions
canonical linux-hwe-6.5 All versions
canonical linux-ibm All versions
canonical linux-intel-iot-realtime All versions
canonical linux-intel-iotg All versions
canonical linux-lowlatency All versions
canonical linux-lowlatency-hwe-5.19 All versions
canonical linux-lowlatency-hwe-6.2 All versions
canonical linux-lowlatency-hwe-6.5 All versions
canonical linux-nvidia-6.2 All versions
canonical linux-nvidia-6.5 All versions
canonical linux-nvidia-6.8 All versions
canonical linux-oem-5.17 All versions
canonical linux-oem-6.0 All versions
canonical linux-oem-6.1 All versions
canonical linux-oem-6.5 All versions
canonical linux-oracle-6.5 All versions
canonical linux-raspi All versions
canonical linux-realtime All versions
canonical linux-riscv All versions
canonical linux-riscv-5.19 All versions
canonical linux-riscv-6.5 All versions
canonical linux-starfive-5.19 All versions
canonical linux-starfive-6.2 All versions
canonical linux-starfive-6.5 All versions
canonical linux-azure-fips All versions
canonical linux-azure-6.11 All versions
canonical linux-azure-nvidia All versions
canonical linux-gcp-6.11 All versions
canonical linux-gcp-6.17 All versions
canonical linux-hwe-6.11 All versions
canonical linux-hwe-6.17 All versions
canonical linux-lowlatency-hwe-6.11 All versions
canonical linux-nvidia All versions
canonical linux-nvidia-6.11 All versions
canonical linux-nvidia-lowlatency All versions
canonical linux-nvidia-tegra All versions
canonical linux-oem-6.11 All versions
canonical linux-oem-6.8 All versions
canonical linux-oracle-6.14 All versions
canonical linux-raspi-realtime All versions
canonical linux-realtime All versions
canonical linux-riscv All versions
canonical linux-riscv-6.14 All versions
canonical linux-riscv-6.17 All versions
canonical linux-realtime-6.14 All versions
canonical linux All versions
canonical linux-gcp All versions
canonical linux-raspi All versions
canonical linux-riscv All versions
Original title
In the Linux kernel, the following vulnerability has been resolved: spi: tegra210-quad: Protect curr_xfer check in IRQ handler Now that all other accesses to curr_xfer are done under the lock, prot...
Original description
In the Linux kernel, the following vulnerability has been resolved: spi: tegra210-quad: Protect curr_xfer check in IRQ handler Now that all other accesses to curr_xfer are done under the lock, protect the curr_xfer NULL check in tegra_qspi_isr_thread() with the spinlock. Without this protection, the following race can occur: CPU0 (ISR thread) CPU1 (timeout path) ---------------- ------------------- if (!tqspi->curr_xfer) // sees non-NULL spin_lock() tqspi->curr_xfer = NULL spin_unlock() handle_*_xfer() spin_lock() t = tqspi->curr_xfer // NULL! ... t->len ... // NULL dereference! With this patch, all curr_xfer accesses are now properly synchronized. Although all accesses to curr_xfer are done under the lock, in tegra_qspi_isr_thread() it checks for NULL, releases the lock and reacquires it later in handle_cpu_based_xfer()/handle_dma_based_xfer(). There is a potential for an update in between, which could cause a NULL pointer dereference. To handle this, add a NULL check inside the handlers after acquiring the lock. This ensures that if the timeout path has already cleared curr_xfer, the handler will safely return without dereferencing the NULL pointer.
Published: 14 Feb 2026 · Updated: 13 Mar 2026 · First seen: 10 Mar 2026