Odebrany

CVE-2026-90400

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

md: sprawdź ponownie zapasowe zmiany przed rozpoczęciem synchronizacji

usuń_spares() i usuń_and_add_spares() modyfikują rdev tablicy
konfiguracja. Operacje te są bezpieczne dopiero po wykonaniu tablicy
zawieszone.

md_start_sync() sprawdza, czy potrzebne są dodatkowe zmiany w konfiguracji
przed pobraniem reconfig_mutex. Jednakże stan rdev może zmienić się wcześniej
uzyskano muteks, więc wstępne sprawdzenie może stać się nieaktualne. W tym
w takim przypadku md_choose_sync_action() może normalnie usunąć lub zastąpić rdevs
We/Wy nadal uzyskuje do nich dostęp.

Wyścig może przebiegać w następujący sposób:

raid10d Pracownik Normalne wejście/wyjście
____________ __________ ______________________

raid10_write_request()
czekaj_blokowany_dev()
ustaw Zablokowane
ustaw Niesprawny
Pomiń błędny rdev
rrdev->nr_pending++
.repl_bio = bio
usuwalny_rdev = false .
tablica nie zawieszona.
zablokuj mddev, przejdź do err_handle
zablokuj mddev (czekaj)
.
zaktualizować kogoś
wyczyść Zablokowane.
.
odblokuj mddev.
zablokuj mddev (przejmuje)
usuń_części zamienne()
usuwalny_rdev = prawda

raid10_remove_disk()
rdev = zastąpienie
zamiana = NULL
rdev_dec_pending(NULL)
odblokuj mddev (NULL)->nr_pending--

W tym przypadku rdev_dec_pending() jest wywoływana ze wskaźnikiem NULL,
co powoduje wyłuskanie wskaźnika NULL przy próbie zmniejszenia
nr_oczekujący.

Napraw ten problem, zawieszając macierz w przypadku zmian konfiguracji zapasowej
potrzebne, łącznie z tablicami nieprzeznaczonymi do odczytu i zapisu, i ponowne sprawdzenie później
biorąc reconfig_mutex. Jeśli tablica nie została już zawieszona i a
konieczna jest teraz zmiana, zwolnij muteks, zawieś tablicę i
przed kontynuowaniem uzyskaj ponownie muteks.

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