Odebrany

CVE-2026-98965

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ę:

ice: Przywróć zamówione zapisy MMIO dla dzwonków Tx

Stan rozliczania DQL, który śledzi liczbę bajtów oczekujących w kolejce
Karta sieciowa do transmisji, czyli dql->num_queued, jest aktualizowana przez sterownik ICE
kiedy wywołuje funkcję __netdev_tx_sent_queue(). Następnie kierowca
aktualizuje koniec kolejki sprzętowej, umożliwiając karcie sieciowej rozpoczęcie przetwarzania
kolejka do pracy. Aktualizację rozliczania kolejek należy zamówić przed kartą sieciową
zaczyna przesyłać deskryptory.

Ścieżka transmisji aktualnie aktualizuje sprzętowy dzwonek do drzwi
writel_relaxed(), która (w arm64) nie zapewnia tej samej kolejności
gwarantuje pomiędzy zapisem do normalnej pamięci a zapisem do rejestrów MMIO
robi to writel(). Wprowadza to potencjalny wyścig, w którym NIC
rozpoczyna transmisję deskryptorów przed aktualizacją dql->num_queued
globalnie widoczne. Jeśli karta sieciowa zakończy działanie, zanim aktualizacja zostanie zaobserwowana przez
dql_completed(), wykrywa nieprawidłowy stan, w którym było więcej bajtów
ukończone, niż czekały w kolejce. Gdy tak się stanie, pojawia się następujący BUG_ON
jest wyzwalany.

BŁĄD_ON (liczba > liczba_kolejkowanych - dql->liczba_ukończona);

Zostało to zaobserwowane i objawia się następującą awarią (zwróć uwagę, że
ślad został przycięty) w środowisku o trwałej sieci
obciążenie korzystające z kontrolera Ethernet Intel Corporation E810-XXV dla SFP
(wersja 02) na maszynie arm64. Zastępowanie funkcji writel_relaxed() funkcją writel()
w jądrze testowym wyeliminowało awarię obciążenia użytkownika, co
wcześniej niezawodnie odtworzył problem.

BŁĄD jądra w lib/dynamic_queue_limits.c:99

Błąd wewnętrzny: Ups - BŁĄD: 00000000f2000800 [#1] SMP
szt: dql_completed+0x268/0x2a0
lr : ice_clean_tx_irq+0x1d4/0x620 [lód]
Śledzenie połączeń:
dql_completed+0x268/0x2a0 (P)
ice_napi_poll+0x94/0x520 [lód]
__napi_poll+0x48/0x3f0
net_rx_action+0x194/0x420

To przywraca zachowanie sprzed zatwierdzenia ccde82e90946 („lód: dodaj E830
Najwcześniejsza obsługa pierwszego odciążenia TxTime”), co spowodowało zmianę powiadomienia
mechanizm z writel() do writel_relaxed().

>_ 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