In the Linux kernel, the following vulnerability has been resolved:
spi: spidev: fix lock inversion between spi_lock and buf_lock
The spidev driver previously used two mutexes, spi_lock and buf_lock, but acquired them in different orders depending on the code path:
write()/read(): buf_lock -> spi_lock ioctl(): spi_lock -> buf_lock
This AB-BA locking pattern triggers lockdep warnings and can cause real deadlocks:
WARNING: possible circular locking dependency detected spidev_ioctl() -> mutex_lock(&spidev->buf_lock) spidev_sync_write() -> mutex_lock(&spidev->spi_lock) *** DEADLOCK ***
The issue is reproducible with a simple userspace program that performs write() and SPI_IOC_WR_MAX_SPEED_HZ ioctl() calls from separate threads on the same spidev file descriptor.
Fix this by simplifying the locking model and removing the lock inversion entirely. spidev_sync() no longer performs any locking, and all callers serialize access using spi_lock.
buf_lock is removed since its functionality is fully covered by spi_lock, eliminating the possibility of lock ordering issues.
This removes the lock inversion and prevents deadlocks without changing userspace ABI or behaviour.
CVSS Details
- CVSS 3.1 Base Score: 5.5
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Debian | — | Upgrade linux | Jul 23, 2026 | Jul 23, 2026 |
| Ubuntu | — | Upgrade linux-image-lowlatency-64k-6.8Upgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-nvidia-tegra-rtUpgrade linux-image-ibm-classicUpgrade linux-image-6.8.0-1058-nvidiaUpgrade linux-image-generic-64k-6.8Upgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-ibm-6.8Upgrade linux-image-raspi-realtimeUpgrade linux-image-6.8.0-1060-awsUpgrade linux-image-oracleUpgrade linux-image-6.8.0-1062-azure-fipsUpgrade linux-image-gkeopUpgrade linux-image-oem-22.04bUpgrade linux-image-6.8.0-1058-nvidia-lowlatencyUpgrade linux-image-6.8.0-134-lowlatencyUpgrade linux-image-6.8.0-1063-gcp-64kUpgrade linux-image-xilinxUpgrade linux-image-6.8.0-1060-raspiUpgrade linux-image-6.8.0-134-fipsUpgrade linux-image-azure-fipsUpgrade linux-image-oem-22.04Upgrade linux-image-oem-22.04aUpgrade linux-image-oem-20.04dUpgrade linux-image-oracle-lts-24.04Upgrade linux-image-lowlatency-64kUpgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-raspi-realtime-6.8Upgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-6.8.0-1058-gkeUpgrade linux-image-azure-fips-6.8Upgrade linux-image-genericUpgrade linux-image-aws-64k-lts-24.04Upgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-nvidia-tegra-6.8Upgrade linux-image-6.8.0-1060-aws-fipsUpgrade linux-image-awsUpgrade linux-image-aws-fipsUpgrade linux-image-fipsUpgrade linux-image-aws-64k-6.8Upgrade linux-image-fips-6.8Upgrade linux-image-realtime-hwe-22.04Upgrade linux-image-lowlatencyUpgrade linux-image-lowlatency-6.8Upgrade linux-image-virtualUpgrade linux-image-azure-6.8Upgrade linux-image-azure-lts-24.04Upgrade linux-image-6.8.0-1063-gcpUpgrade linux-image-gcp-6.8Upgrade linux-image-oem-20.04bUpgrade linux-image-oracle-64k-6.8Upgrade linux-image-gcpUpgrade linux-image-gkeUpgrade linux-image-6.8.0-1063-gcp-fipsUpgrade linux-image-generic-6.8Upgrade linux-image-6.8.0-134-generic-64kUpgrade linux-image-ibmUpgrade linux-image-aws-64kUpgrade linux-image-6.8.0-1032-xilinxUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-gkeop-6.8Upgrade linux-image-oem-20.04Upgrade linux-image-nvidiaUpgrade linux-image-nvidia-lowlatency-6.8Upgrade linux-image-generic-lpaeUpgrade linux-image-aws-6.8Upgrade linux-image-6.8.0-1062-azure-fdeUpgrade linux-image-xilinx-zynqmpUpgrade linux-image-intel-iot-realtimeUpgrade linux-image-6.8.1-1055-realtimeUpgrade linux-image-generic-hwe-22.04Upgrade linux-image-generic-64kUpgrade linux-image-gcp-fipsUpgrade linux-image-azure-fdeUpgrade linux-image-6.8.0-2049-raspi-realtimeUpgrade linux-image-nvidia-tegra-rt-6.8Upgrade linux-image-gke-64k-6.8Upgrade linux-image-gke-6.8Upgrade linux-image-azureUpgrade linux-image-aws-fips-6.8Upgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-realtime-6.8.1Upgrade linux-image-virtual-hwe-22.04Upgrade linux-image-raspiUpgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-nvidia-lowlatency-64k-6.8Upgrade linux-image-gke-64kUpgrade linux-image-gcp-lts-24.04Upgrade linux-image-6.8.0-136-generic-64kUpgrade linux-image-6.8.0-1029-nvidia-tegra-rtUpgrade linux-image-kvmUpgrade linux-image-intel-iotgUpgrade linux-image-6.8.0-1060-aws-64kUpgrade linux-image-oracle-6.8Upgrade linux-image-realtimeUpgrade linux-image-oem-20.04cUpgrade linux-image-6.8.0-136-genericUpgrade linux-image-6.8.0-1029-nvidia-tegraUpgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-laptop-23.10Upgrade linux-image-6.8.0-1058-nvidia-64kUpgrade linux-image-6.8.0-1058-nvidia-lowlatency-64kUpgrade linux-image-6.8.0-1057-oracleUpgrade linux-image-virtual-6.8Upgrade linux-image-ibm-lts-24.04Upgrade linux-image-gcp-fips-6.8Upgrade linux-image-oracle-64kUpgrade linux-image-oem-22.04cUpgrade linux-image-gcp-64k-6.8Upgrade linux-image-raspi-6.8Upgrade linux-image-azure-fde-lts-24.04Upgrade linux-image-6.8.0-1057-oracle-64kUpgrade linux-image-xilinx-6.8Upgrade linux-image-nvidia-lowlatencyUpgrade linux-image-nvidia-6.8Upgrade linux-image-gcp-64kUpgrade linux-image-azure-fde-6.8Upgrade linux-image-aws-lts-24.04Upgrade linux-image-6.8.0-1063-azureUpgrade linux-image-6.8.0-1060-ibmUpgrade linux-image-6.8.0-134-genericUpgrade linux-image-6.8.0-134-lowlatency-64kUpgrade linux-image-6.8.0-1058-gke-64kUpgrade linux-image-oem-22.04dUpgrade linux-image-nvidia-tegraUpgrade linux-image-nvidia-64kUpgrade linux-image-6.8.0-1045-gkeop | Jul 2, 2026 | Jul 1, 2026 |
Prioritise with Active Threat Intelligence
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub