Odebrany

CVE-2026-98617

opublikowano:
modyfikacja:
Ocena CVSS
n/a
Brak oceny

>_ Opis

Tłumaczenie automatyczne – może zawierać nieścisłości.

W jądrze Linuksa usunięto następującą lukę:

eth: fbnic: użyj wskaźnika napi kolejki Rx, aby znaleźć wektor napi

Ndos zarządzania kolejką wybiera wektor napi dla kolejki Rx za pomocą:
nv = fbn->napi[idx% fbn->num_napi];

Problem w tym, że jest to poprawne tylko w przypadkach, gdy ich nie ma
samodzielne wektory Tx. W tych przypadkach alokowaliśmy wektory Tx
najpierw, a potem Rx, tak aby kolejki wskazywały wektory Tx NAPI
zamiast Rx.

Mapowanie wymagane przez NDOs zostało już zarejestrowane. fbnic_set_netif_napi()
publikuje go za pomocą netif_queue_set_napi(), która przechowuje wskaźnik napi
w netdev_rx_queue.napi, a fbnic_reset_netif_napi() ponownie to czyści.
Obydwa działają pod blokadą instancji netdev, którą zarządza kolejka ndos
również przytrzymaj, aby wskaźnik mógł zostać bezpośrednio odczytany.

Wykorzystaj to i porzuć podział. Wskaźnik ma wartość NULL dokładnie podczas
ścieżka danych nie działa, więc fbnic_queue_mem_alloc() może raczej odrzucić ten przypadek
niż osiągnięcie stanu zwolnienia: wywołuje to funkcja netdev_rx_queue_restart().
zanim przetestuje funkcję netif_running() i fbnic_pm_suspend() opuści
netif_running() true w przypadku odzyskiwania PCIe, które nigdy się nie kończy, więc a
Ponowne uruchomienie kolejki może nastąpić po zwolnieniu pierścieni przez fbnic_stop() i
wektory. fbnic_stop() czyści powiązanie
fbnic_reset_netif_queues() przed fbnic_free_napi_vectors(), więc
Wartość NULL jest zawsze publikowana jako pierwsza. fbnic_queue_start() i
Funkcja fbnic_queue_stop() nie wymaga samodzielnego sprawdzania, ponieważ
netdev_rx_queue_reconfig() dociera do nich tylko wtedy, gdy fbnic_queue_mem_alloc()
powiodło się w ramach tej samej blokady instancji.

>_ Referencje

Dane podatności pochodzą z oficjalnych źródeł (CVE® List / NVD). Opisy po polsku są tłumaczone automatycznie i mogą zawierać nieścisłości – na stronie rekordu można wyświetlić wersję angielską.

This product uses the NVD API but is not endorsed or certified by the NVD.

Copyright © 1999–2026, The MITRE Corporation. CVE is a registered trademark and the CVE logo is a registered trademark of The MITRE Corporation.

CVE Usage: MITRE hereby grants you a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Common Vulnerabilities and Exposures (CVE®). Any copy you make for such purposes is authorized provided that you reproduce MITRE's copyright designation and this license in any such copy. ALL DOCUMENTS AND THE INFORMATION CONTAINED THEREIN PROVIDED BY MITRE ARE PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND.

NVD Terms of Use / CVE® Terms of Use / nvd.nist.gov / cve.org