cveboard Feed RSS

CVE-2026-43319

CVE.org · Publicado

Histórico de CVEsJSONInstruções para IA

Status do registro
Publicado
Ano do identificador (não é o ano de publicação)
2026
Publicação na fonte
Atualização na fonte
Importado pelo cveboard
Snapshot da fonte
cve_2026-10-24_midnight_baseline ·

Texto simples

Texto da CNA em inglês

spi: spidev: fix lock inversion between spi_lock and buf_lock

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.

Fatos de produtos e versões por escopo

Dados de correção desconhecidos; nenhuma versão corrigida é deduzida aqui. Dados ausentes não comprovam ausência de correção.

Exploração desconhecida; este catálogo não avalia exploração.

Linux

Fornecedor
Linux
Produto
Linux
Plataformas
Desconhecido
Status padrão
unaffected
Linux · Fatos de produtos e versões por escopo
Versão (version)Status (status)Esquema de versões (versionType)Fim exclusivo (lessThan)Fim inclusivo (lessThanOrEqual)Mudanças de status (at → status)
a720416d94634068951773cb9e9d6f1b73769e5baffectedgitfabfed1afe273717ea33b8aee46b767360edbb80IndisponívelNenhuma listada
a720416d94634068951773cb9e9d6f1b73769e5baffectedgitf8431b8672231d378b03176fe74c95adfd3522cfIndisponívelNenhuma listada
a720416d94634068951773cb9e9d6f1b73769e5baffectedgite341e18215030af2136836b78508e0d798916df7IndisponívelNenhuma listada
a720416d94634068951773cb9e9d6f1b73769e5baffectedgit41ccfac7d302968a4f32b5f7b012d066c5f5cdf8IndisponívelNenhuma listada
a720416d94634068951773cb9e9d6f1b73769e5baffectedgit40534d19ed2afb880ecf202dab26a8e7a5808d16IndisponívelNenhuma listada

Linux

Fornecedor
Linux
Produto
Linux
Plataformas
Desconhecido
Status padrão
affected
Linux · Fatos de produtos e versões por escopo
Versão (version)Status (status)Esquema de versões (versionType)Fim exclusivo (lessThan)Fim inclusivo (lessThanOrEqual)Mudanças de status (at → status)
6.2affectedIndisponívelIndisponívelIndisponívelNenhuma listada
0unaffectedsemver6.2IndisponívelNenhuma listada
6.6.142unaffectedsemverIndisponível6.6.*Nenhuma listada
6.12.75unaffectedsemverIndisponível6.12.*Nenhuma listada
6.18.16unaffectedsemverIndisponível6.18.*Nenhuma listada
6.19.6unaffectedsemverIndisponível6.19.*Nenhuma listada
7.0unaffectedoriginal_commit_for_fixIndisponível*Nenhuma listada