Odebrany

CVE-2026-93255

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

btrfs: upewnij się, że EXTENT_BUFFER_READING jest wyczyszczone w obszarze refs_lock

[FAŁSZYWE ALERTY]
Istnieje raport o błędzie, który zawiera ostrzeżenie w środku
validate_and_check_btree_folios() została uruchomiona podczas btrfs/298:

Informacje o BTRFS (SDD urządzenia): pierwsze podłączenie systemu plików f9bf732a-a19b-44b9-99a7-614ddff168e2
Informacje BTRFS (SDD urządzenia): przy użyciu algorytmu sumy kontrolnej crc32c
Błąd BTRFS (device sdd): nie udało się znaleźć fsid cb2fdb42-b638-4f2f-badd-4127467ba674 podczas próby otwarcia urządzeń źródłowych
Błąd BTRFS (SDD urządzenia): nie udało się odczytać drzewa fragmentów: -2
------------[przetnij tutaj ]------------
OSTRZEŻENIE: dysk-io.c:3342 pod adresem validate_and_check_btree_folios+0x260/0x3c0 [btrfs], procesor nr 4: mount/125993
Procesor: 4 UID: 0 PID: 125993 Comm: mount Tainted: G W OE 7.1.0-rc7-custom+ #1 PREEMPT (pełny)
Nazwa sprzętu: Maszyna wirtualna QEMU KVM, BIOS edk2-20250812-19.fc42 12.08.2025
Śledzenie połączeń:
validate_and_check_btree_folios+0x260/0x3c0 [btrfs] (P)
open_ctree+0x1f50/0x23b0 [btrfs]
btrfs_get_tree+0x89c/0xc48 [btrfs]
vfs_get_tree+0x30/0x110
vfs_cmd_create+0x58/0xe8
__arm64_sys_fsconfig+0x39c/0x518
invoke_syscall.constprop.0+0x48/0x120
el0_svc_common.constprop.0+0x40/0xe8
do_el0_svc+0x24/0x38
el0_svc+0x50/0x310
el0t_64_sync_handler+0xa0/0xe8
el0t_64_sync+0x198/0x1a0
---[koniec śladu 0000000000000000 ]---
Ostrzeżenie BTRFS (urządzenie sdd): nie można zwolnić bufora zasięgu 365985792 właściciel 3 gen. 17 ref. 3 flagi 0x5

[PRZYCZYNA]
W tej funkcji validate_and_check_btree_folios() czekamy na zakończenie eb
jest odczytany, a następnie sprawdź, czy jest przechowywany tylko przez nas i i-węzeł btree.

Jeśli nie, zrób ostrzeżenie, ponieważ może być nadal trzymany i może powodować
problemy.

Istnieje jednak małe okno, w którym sprawdzenie może prowadzić do fałszywych alertów:

Wątek A (Przeczytaj koniec) | Gwint B (Odmontuj)
----------------------------------+-------------------------------------
end_bbio_meta_read() |
| eb ma jeden dodatkowy ref. |
| przez czytelnika i ma |
| Ustawiono flagę EXTENT_BUFFER_READING | unieważnij_and_check_btree_folios()
| | |
|- clear_extent_buffer_reading() | |
| | |- czekaj_na_bit_io();
| | | Flaga EXTENT_BUFFER_READING to
| | | wyczyszczone
| | |- if (refcount_read(eb->refs) > 2)
| | Eb jest trzymany przez czytającego, nas
| | i btree i-węzeł, więc to
| | wywoła ostrzeżenie
|- free_extent_buffer() |

[POPRAWKA]
Przedstaw pomocnika, free_extent_buffer_clear_reading().

Jeśli ustawiony zostanie nowy parametr @clear_reading, zatrzymamy blokadę
na początku free_extent_buffer_clear_reading(), aby upewnić się, że
Flaga EXTENT_BUFFER_READING została wyczyszczona w tej samej sekcji krytycznej
malejących ref.

Teraz free_extent_buffer() po prostu zadzwoni
free_extent_buffer_clear_reading() z @clear_reading ustawionym na false, więc
żadnej zmiany zachowania.

Ale w przypadku end_bbio_meta_read() nie będzie to clear_extent_buffer_reading()
bezpośrednio, ale podaj @clear_reading jako true.

Następnie w funkcji validate_and_check_btree_folios() przytrzymaj refs_lock
przed przeczytaniem ref.
Abyśmy całkowicie wyeliminowali okno wyścigu.

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