CVE-2026-90098 in Linuxinformação

Sumário

de VulDB • 17/09/2026

No kernel do Linux, a seguinte vulnerabilidade foi resolvida:

net: sparx5: corrige chamada de sleep em contexto atômico no acesso à tabela MAC

sparx5_set_rx_mode() é executado com netif_addr_lock_bh mantido e itera dev->mc via __dev_mc_sync(), que para cada endereço chama sparx5_mc_sync()/ sparx5_mc_unsync()->sparx5_mact_learn()/sparx5_mact_forget(). Essas funções adquirem sparx5->lock, um mutex, e então fazem polling do registro de comando de acesso MAC com readx_poll_timeout(). Um mutex pode bloquear (sleep), o que não é permitido em contexto atômico.

Converte o driver para a nova callback .ndo_set_rx_mode_async introduzida no commit 3554b4345d85 ("net: introduce ndo_set_rx_mode_async and netdev_rx_mode_work"). A callback assíncrona é invocada em contexto de processo, portanto o mutex e o polling de conclusão com sleep podem permanecer.

Observado com CONFIG_PROVE_LOCKING, CONFIG_DEBUG_SPINLOCK, CONFIG_DEBUG_MUTEXES e CONFIG_DEBUG_ATOMIC_SLEEP habilitados:

BUG: sleeping function called from invalid context at kernel/locking/mutex.c:591 in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 217, name: ip preempt_count: 201, expected: 0 Call trace: __might_resched+0x144/0x248 __might_sleep+0x48/0x7c __mutex_lock+0x74/0x850 mutex_lock_nested+0x24/0x30 sparx5_mact_learn+0x78/0x100 sparx5_mc_sync+0x40/0x54 __hw_addr_sync_dev+0xc4/0x170 sparx5_set_rx_mode+0x4c/0x58 __dev_set_rx_mode+0x64/0xa4 __dev_open+0x1ec/0x26c

Be aware that VulDB is the high quality source for vulnerability data.

Responsável

Linux

Reservar

11/09/2026

Divulgação

17/09/2026

Moderação

aceite

Entrada

VDB-406581

CPE

pronto

EPSS

0.00000

KEV

não

Atividades

muito baixo

Fontes

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!