CVE-2026-64164 Details
Description
In the Linux kernel, the following vulnerability has been resolved: btrfs: tracepoints: fix sleep while in atomic context in btrfs_sync_file() The trace event btrfs_sync_file() is called in an atomic context (all trace events are) and its call to dput(), which is needed due to the call to dget_parent(), can sleep, triggering a kernel splat. This can be reproduced by enabling the trace event and running btrfs/056 from fstests for example. The splat shown in dmesg is the following: [53.919] BUG: sleeping function called from invalid context at fs/dcache.c:970 [53.947] in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 32773, name: xfs_io [53.988] preempt_count: 2, expected: 0 [53.967] RCU nest depth: 0, expected: 0 [53.943] Preemption disabled at: [53.944] [<0000000000000000>] 0x0 [54.078] CPU: 0 UID: 0 PID: 32773 Comm: xfs_io Tainted: G W 7.1.0-rc1-btrfs-next-232+ #1 PREEMPT(full) [54.070] Tainted: [W]=WARN [54.071] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.2-0-gea1b7a073390-prebuilt.qemu.org 04/01/2014 [54.072] Call Trace: [54.074] <TASK> [54.076] dump_stack_lvl+0x56/0x80 [54.079] __might_resched.cold+0xd6/0x10f [54.072] dput.part.0+0x24/0x110 [54.078] trace_event_raw_event_btrfs_sync_file+0x75/0x140 [btrfs] [54.089] btrfs_sync_file+0x1ed/0x530 [btrfs] [54.087] ? __handle_mm_fault+0x8ae/0xed0 [54.089] btrfs_do_write_iter+0x172/0x210 [btrfs] [54.091] vfs_write+0x21f/0x450 [54.094] __x64_sys_pwrite64+0x8d/0xc0 [54.096] ? do_user_addr_fault+0x20c/0x670 [54.099] do_syscall_64+0x60/0xf20 [54.092] ? clear_bhb_loop+0x60/0xb0 [54.094] entry_SYSCALL_64_after_hwframe+0x76/0x7e So stop using dget_parent() and dput() and access the parent dentry directly as dentry->d_parent. This is also what ext4 is doing in its equivalent trace event ext4_sync_file_enter().
A vulnerability exists in the Linux kernel's Btrfs file system component, specifically within the trace event 'btrfs_sync_file()'. This event is executed in an atomic context, where certain operations that can sleep are not permitted. The issue arises because 'btrfs_sync_file()' calls 'dput()', needed for 'dget_parent()', which can sleep and disrupt the atomic context, causing a kernel warning. This vulnerability can be reproduced by enabling the 'btrfs_sync_file' trace event and running the 'btrfs/056' test from the 'fstests' suite. The resulting kernel warning indicates that a sleeping function was called from an invalid context, violating the requirements for atomic operations.
The vulnerability has been addressed in the Linux kernel. Users should upgrade to the latest version where this issue has been fixed.
Metrics
CVSS 4.0 Severity and Vector Strings:
No CVSS 4.0 data is available for this CVE.
CVSS 3.x Severity and Vector Strings:
No data available for CVSS Version 2.0 on this CVE.
No SSVC data is available for this CVE.
References to Advisories, Solutions, and Tools
By selecting these links, you will be leaving this site. These are references gathered from the official CVE record and are not endorsed by Volerion.
| URL | Source(s) | Tag(s) |
|---|---|---|
| https://git.kernel.org/stable/c/0a96d9a85cd2240481297156b9bb72e10b7a8036 | kernel.org | Patch |
| https://git.kernel.org/stable/c/12a0487945c09760a5968d9333383014ea294117 | kernel.org | Patch |
| https://git.kernel.org/stable/c/26b2290baaf6da6add0f782a100766e686a33f4f | kernel.org | Patch |
| https://git.kernel.org/stable/c/4361954f0e158af0530caa1e57f12b531be4658f | kernel.org | Patch |
| https://git.kernel.org/stable/c/6279992c9ba2774901c9d4dd4a481162e2534714 | kernel.org | Patch |
| https://git.kernel.org/stable/c/c32a7e0e3c73c1c0768556a56bd78de9f7b83780 | kernel.org | Patch |
| https://git.kernel.org/stable/c/c73370c677646e86fc4b1780fb07027bdf847375 | kernel.org | Patch |
| https://git.kernel.org/stable/c/d78b0a80eac36879ef5478707135c446920e134b | kernel.org | Patch |
Weakness Enumeration
| CWE-ID | CWE Name | Source |
|---|---|---|
| CWE-476 | NULL Pointer Dereference | [email protected] |
Affected Products
| Product | Versions |
|---|---|
| linux linux kernel | >= 6.6.136, < 6.6.142 >= 6.12.83, < 6.12.92 >= 6.18.24, < 6.18.34 >= 6.19.14, < 7.0 >= 7.0.1, < 7.0.11 7.0 - 7.0 rc6 7.0 rc7 7.1 rc1 7.1 rc2 7.1 rc3 |
CPE
Remediation
| |
Change History
2 change records found show changes
| Date | Action | Recorded By |
|---|---|---|
| Aug 13, 2026 | Initial Analysis | [email protected] |
| Jul 19, 2026 | New CVE Received | kernel.org |