CVE-2026-99007
>_ Opis
Tłumaczenie automatyczne – może zawierać nieścisłości.
W jądrze Linuksa usunięto następującą lukę:
drm/fb-helper: odrocz instalację, gdy fbdev_probe() nie powiedzie się, nie tylko na -EAGAIN
Wywołania __drm_fb_helper_initial_config_and_unlock().
drm_client_modeset_probe(), która już wypełnia każdą z nich
mode_set->mode/num_connectors dla każdego podłączonego wyjścia i tylko
następnie wywołuje drm_fb_helper_single_fb_probe() w celu utworzenia
fb_helper->fb i podłącz go do tych zestawów trybów przez
drm_setup_crtcs_fb().
Jeśli drm_fb_helper_single_fb_probe() nie powiedzie się z niczym innym niż
-EAGAIN (np. sama metoda dev->driver->fbdev_probe() kończy się niepowodzeniem), funkcja
kończy się przed uruchomieniem drm_setup_crtcs_fb() i przed ustawieniem
fb_helper->deferred_setup. Klientowi pozostają mode_sets
mają tryb i złącza, ale mode_set->fb == NULL i nic
oznacza, że fb_helper wymaga ponownej próby.
__drm_fb_helper_restore_fbdev_mode_unlocked() tylko pomija zatwierdzanie
gdy fb_helper->deferred_setup jest ustawione, więc późniejsze wywołanie .restore().
(drm_lastclose() przy wyjściu z procesu, w tym raporcie) zatwierdza nieaktualne
mode_set poprzez drm_client_modeset_commit() ->
drm_client_modeset_commit_atomic() -> __drm_atomic_helper_set_config(),
co uderza WARN_ON(!set->fb).
Zaznacz fb_helper->deferred_setup na dowolnej drm_fb_helper_single_fb_probe()
niepowodzenie, a nie tylko -EAGAIN, więc przywracanie pomija zatwierdzenie do
późniejsze zdarzenie hotplug pomyślnie ponownie sonduje i ponownie wypełnia
mode_set->fb. Prawdziwy kod błędu jest nadal zwracany osobie dzwoniącej
niezmienione.
>_ Referencje
- https://git.kernel.org/stable/c/3b303696f61461b3569019d7fcac6a646652b2b4
- https://git.kernel.org/stable/c/4a2006c675758f0c765b36fec6b49d17e89159cf
- https://git.kernel.org/stable/c/4e7b508c7c60dec7a86b7eb2a1b7e6d174afa457
- https://git.kernel.org/stable/c/755c94d178b7e972bb766199d34e4ba4f63a89eb
- https://git.kernel.org/stable/c/d510ed273854177f0a3ed330145858b2fe667f81
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