CVE-2026-98844
>_ Opis
Tłumaczenie automatyczne – może zawierać nieścisłości.
W jądrze Linuksa usunięto następującą lukę:
netfs: wyczyść pamięć podręczną po EOF podczas rozszerzania pliku poprzez zapis
Napraw netfs, aby usunąć zawartość dziury utworzonej po EOF przez an
zwykły zapis, jeśli brudne dane zostały tam wcześniej pozostawione przez zapis
przez zamapowany region. Ani buforowane, ani niebuforowane/DIO
ścieżka zapisu czyści tę nieaktualną pamięć podręczną stron.
Wyzeruj koniec folio obejmujący EOF przed rozszerzeniem
napisz. To jedyne folio, które może przechowywać dane zapisane poza EOF
poprzez mmap, ponieważ nie można nic zarzucać stronom całkowicie wykraczającym poza EOF.
Folio jest raczej zerowane niż upuszczane, więc współbieżny zapis rozszerzający
nie mogę stracić danych.
Obie ścieżki zapisu obniżają wersję i_rwsem do współdzielonej, więc rozszerzanie zapisów
może działać jednocześnie, a i_size odczytany przez osobę wywołującą może być nieaktualny
czas, w którym folio jest zablokowane. Przeczytaj ponownie i_size pod blokadą folio i
zaciśnij do niego zerowany zakres, więc napisz wyścig, który już umieścił
dane do folio nie są zablokowane.
Poczekaj, aż zapisywanie zwrotne na folio zakończy się, zanim je wyzerujesz
pamięć podręczna strony nie jest modyfikowana, dopóki może być nadal odczytywana przez transport
podczas transmisji. Honoruj IOCB_NOWAIT, zwracając raczej -EAGAIN
niż blokowanie blokady folio, zapisu zwrotnego lub funkcji folio_mkclean().
rmap walk, gdy folio jest zmapowane.
truncate_pagecache() nie może być tutaj użyta: należy ją wywołać za pomocą
i_rwsem przechowywany wyłącznie, ale te ścieżki zapisu przechowują tylko to współdzielone,
i blokowałby bezwarunkowo, łamiąc IOCB_NOWAIT.
Obiekty wywołujące, które przechowują i_rwsem wyłącznie przez całą zmianę rozmiaru (obcięcie,
setattr, fallocate, clone) wykluczają wszelkie rzeczywiste bufory współbieżne
pisarz, więc o aktualności można zamiast tego decydować na podstawie brudu folio
state, tak jak robi to już pagecache_isize_extended() dla systemów plików, które
serialise zapisuje przeciwko truncate/setattr poprzez pojedynczy i_rwsem.
Eksportuj pomocnika netfs_clear_stale_post_isize(), aby obsłużyć taki przypadek.
Pomocnik jest wymagany przez klienta CIFS do naprawy pliku Generic/363.
>_ 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