Odebrany

CVE-2026-90144

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

dpll: napraw deref NULL w dpll_device_ops() podczas wyścigu po porzuceniu

Kiedy ostatni właściciel urządzenia dpll wyrejestruje się, będąc zagranicznym kierowcą
nadal trzyma pin za pomocą dpll_pin_on_pin_register(), obiektu dpll
pozostaje przy życiu z pustą listą rejestracyjną. Powiadomienie o przypięciu w kolejce
przed wyrejestrowaniem (np. reakcja lodu na usunięcie zl3073x_i2c) to
wprowadza pin->dpll_refs do dpll_device_ops(), co powoduje wyłączenie WARN_ON i
wyłudza brakującą rejestrację. dpll_lock nie może pomóc, ponieważ
praca z powiadomieniem została umieszczona w kolejce, zanim wyrejestrowany kierowca podjął pracę
zamek.

Traktuj pustą listę rejestracyjną jako prawidłowy stan przejściowy. Zrób
dpll_priv() i dpll_device_ops() zwracają w tym przypadku NULL i sprawiają, że
każda ścieżka łącza sieciowego, która rozpoznaje urządzenie z pominięciem pinów, np
dpll. dpll_cmd_pin_get_one() wybiera referenta podczas rejestracji na żywo i
zwraca -ENODEV, gdy go nie ma, zrzut pinów pomija taki pin
zamiast przerywać zrzut, dpll_msg_add_pin_dplls() i
częstotliwość, esync, synchronizacja odniesienia i regulacja fazy ustawione ścieżki pomijają martwe
refs, a dpll_pin_parent_device_set() sprawdza element nadrzędny za pomocą
dpll_device_get_by_id(). dpll_pin_register() jest ostatnią funkcją wywołującą
wyrejestrowano działanie urządzenia bez sprawdzania, więc zmień jego częstotliwość
monitoruj weryfikację pod dpll_lock i toleruj brakującą rejestrację
tam też.

Pusta lista rejestracyjna jest równoznaczna z wyczyszczoną listą DPLL_REGISTERED
mark, oba przejścia zachodzą pod dpll_lock w dpll_device_register()
i dpll_device_unregister(). Powiadomienie o pinach dla pinów, których dplls
wszystkie zniknęły, są teraz usuwane z opcją -ENODEV zamiast zawieszać się
wywołujące w rdzeniu ignorują tę zwracaną wartość.

OSTRZEŻENIE: sterowniki/dpll/dpll_core.c:1092 w dpll_device_ops+0x24/0x40,
Procesor nr 83: kworker/u576:3/23471
Moduły łączone w: ... ice ... zl3073x_i2c(-) ... zl3073x ...
Kolejka robocza: ice_dpll_wq ice_dpll_pin_notify_work [ice]
RIP: 0010:dpll_device_ops+0x24/0x40
Zadzwoń do śledzenia:
<ZADANIE>
dpll_cmd_pin_get_one+0x336/0x520
dpll_pin_event_send+0x82/0x140
dpll_pin_on_pin_unregister+0xbb/0x160
ice_dpll_pin_notify_work+0x1bc/0x1f0 [lód]
proces_one_work+0x19e/0x370
wątek_pracownika+0x1a6/0x310
kwątek+0xe4/0x120
ret_from_fork+0x1a1/0x270
ret_from_fork_asm+0x1a/0x30
</ZADANIE>
---[koniec śladu 0000000000000000 ]---
BŁĄD: wyłuskiwanie wskaźnika NULL jądra, adres: 0000000000000010
#PF: dostęp do odczytu nadzorcy w trybie jądra
#PF: kod_błędu(0x0000) - nie ma strony

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