← Retour à la recherche de CVE

CVE-2026-23465

Linux Kernel

Description

In the Linux kernel, the following vulnerability has been resolved: btrfs: log new dentries when logging parent dir of a conflicting inode If we log the parent directory of a conflicting inode, we are not logging the new dentries of the directory, so when we finish we have the parent directory-s inode marked as logged but we did not log its new dentries. As a consequence if the parent directory is explicitly fsynced later and it does not have any new changes since we logged it, the fsync is a no-op and after a power failure the new dentries are missing. Example scenario: $ mkdir foo $ sync $rmdir foo $ mkdir dir1 $ mkdir dir2 # A file with the same name and parent as the directory we just deleted # and was persisted in a past transaction. So the deleted directory-s # inode is a conflicting inode of this new file-s inode. $ touch foo $ ln foo dir2/link # The fsync on dir2 will log the parent directory (-.-) because the # conflicting inode (deleted directory) does not exists anymore, but it # it does not log its new dentries (dir1). $ xfs_io -c -fsync- dir2 # This fsync on the parent directory is no-op, since the previous fsync # logged it (but without logging its new dentries). $ xfs_io -c -fsync- . <power failure> # After log replay dir1 is missing. Fix this by ensuring we log new dir dentries whenever we log the parent directory of a no longer existing conflicting inode. A test case for fstests will follow soon.

CVSS 5.5EPSS 0.122%Risque 0.56
Voir la source
Publication
2026-04-03 16:16:33
Versions concernées
unknown
Type
Core software
Dernière modification
2026-07-24 22:10:00
Vecteur
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Systèmes d’exploitation
Linux