CVE-2026-43319
Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
08/05/2026
Last modified:
15/05/2026
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
spi: spidev: fix lock inversion between spi_lock and buf_lock<br />
<br />
The spidev driver previously used two mutexes, spi_lock and buf_lock,<br />
but acquired them in different orders depending on the code path:<br />
<br />
write()/read(): buf_lock -> spi_lock<br />
ioctl(): spi_lock -> buf_lock<br />
<br />
This AB-BA locking pattern triggers lockdep warnings and can<br />
cause real deadlocks:<br />
<br />
WARNING: possible circular locking dependency detected<br />
spidev_ioctl() -> mutex_lock(&spidev->buf_lock)<br />
spidev_sync_write() -> mutex_lock(&spidev->spi_lock)<br />
*** DEADLOCK ***<br />
<br />
The issue is reproducible with a simple userspace program that<br />
performs write() and SPI_IOC_WR_MAX_SPEED_HZ ioctl() calls from<br />
separate threads on the same spidev file descriptor.<br />
<br />
Fix this by simplifying the locking model and removing the lock<br />
inversion entirely. spidev_sync() no longer performs any locking,<br />
and all callers serialize access using spi_lock.<br />
<br />
buf_lock is removed since its functionality is fully covered by<br />
spi_lock, eliminating the possibility of lock ordering issues.<br />
<br />
This removes the lock inversion and prevents deadlocks without<br />
changing userspace ABI or behaviour.
Impact
Base Score 3.x
5.50
Severity 3.x
MEDIUM
Vulnerable products and versions
| CPE | From | Up to |
|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.2 (including) | 6.12.75 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.13 (including) | 6.18.16 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.19 (including) | 6.19.6 (excluding) |
| cpe:2.3:o:linux:linux_kernel:7.0:rc1:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:7.0:rc2:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:7.0:rc3:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:7.0:rc4:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:7.0:rc5:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:7.0:rc6:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:7.0:rc7:*:*:*:*:*:* |
To consult the complete list of CPE names with products and versions, see this page



