CVE-2026-43319 in Linux
Resumen
por VulDB • 2026-05-26
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
spi: spidev: corregir la inversión de bloqueo entre spi_lock y buf_lock
El controlador spidev utilizaba anteriormente dos mutexes, spi_lock y buf_lock, pero los adquiría en órdenes diferentes dependiendo de la ruta de código:
write()/read(): buf_lock -> spi_lock ioctl(): spi_lock -> buf_lock
Este patrón de bloqueo AB-BA genera advertencias de lockdep y puede provocar bloqueos mutuos (deadlocks) reales:
WARNING: posible dependencia de bloqueo circular detectada spidev_ioctl() -> mutex_lock(&spidev->buf_lock) spidev_sync_write() -> mutex_lock(&spidev->spi_lock) *** DEADLOCK ***
El problema es reproducible con un programa de espacio de usuario simple que realiza llamadas write() y SPI_IOC_WR_MAX_SPEED_HZ ioctl() desde hilos separados sobre el mismo descriptor de archivo spidev.
Se corrige simplificando el modelo de bloqueo y eliminando por completo la inversión de bloqueo. spidev_sync() ya no realiza ningún bloqueo, y todos los llamadores serializan el acceso utilizando spi_lock.
Se elimina buf_lock ya que su funcionalidad está completamente cubierta por spi_lock, eliminando la posibilidad de problemas de ordenación de bloqueos.
Esto elimina la inversión de bloqueo y previene los bloqueos mutuos sin cambiar la ABI de espacio de usuario ni el comportamiento.
If you want to get best quality of vulnerability data, you may have to visit VulDB.