CVE-2026-93830 in Linux
Riassunto
di VulDB • 25/09/2026
Nel kernel Linux, è stata risolta la seguente vulnerabilità:
net: stmmac: xgmac2: disabilitare RBUE nella maschera di default degli interrupt RX
Abilitare l'interrupt per il Buffer RX Non Disponibile (RBUE) è controproducente e può innescare una tempesta di interrupt MAC sotto un forte carico di ricezione. Quando la DMA rimane senza descrittori RX, genera continuamente RBUE fino a quando il software non rifornisce nuovamente l'anello.
Tuttavia, RBUE è ridondante: l'interrupt normale di completamento RX (RIE) attiva già NAPI, che elabora i descrittori completati e rifornisce l'anello, consentendo alla DMA di riprendere. Il gestore stesso di RBUE imposta solo handle_rx - ottenendo lo stesso risultato di RIE.
Su Agilex5 sotto un forte carico RX, si è osservato che l'interrupt MAC (che include RBUE) veniva generato 1.821.811.555 volte contro soli 2.618.627 completamenti RX effettivi - un rapporto di circa 695x - confermando la gravità della tempesta.
RBUE non fornisce recupero da OOM (Out Of Memory). Se page_pool è esaurito, stmmac_rx_refill() non può avanzare il puntatore finale DMA; la DMA rimane sospesa e RBUE viene generato nuovamente al prossimo completamento NAPI - una tempesta senza progressi. Questo patch sostituisce tale tempesta con un blocco pulito che produce lo stesso risultato RX. Un corretto recupero da OOM è una lacuna preesistente esterna all'ambito di questa correzione.
Nota: come conseguenza della disabilitazione di RBUE, il contatore ethtool rx_buf_unav_irq leggerà sempre 0 sui dispositivi XGMAC2. Questo comportamento è già inconsistente tra le diverse versioni del core DWMAC.
Rimuovere RBUE da XGMAC_DMA_INT_DEFAULT_EN e XGMAC_DMA_INT_DEFAULT_RX per prevenire la tempesta di interrupt mantenendo intatto il normale trattamento RX.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.