CVE-2026-64356
N/A
Summary
In the Linux kernel, the following vulnerability has been resolved:
xfs: fix memory leak in xfs_dqinode_metadir_create()
If xfs_metadir_create() fails in xfs_dqinode_metadir_create(), the current code returns directly, leaking the allocated update and transaction state. If the subsequent commit fails, the caller-owned inode reference is left behind.
Fix this memory leak by routing the create failure path through xfs_metadir_cancel(). For both create and commit failures, finish and release any inode returned to the caller, mirroring the unwind pattern in xfs_metadir_mkdir().
The bug was first flagged by an experimental analysis tool we are developing for kernel memory-management bugs while analyzing v6.13-rc1. The tool is still under development and is not yet publicly available. Manual inspection confirms that the bug is still present in v7.1.1.
An x86_64 allyesconfig build showed no new warnings. Runtime validation
used kprobe fault injection during mount -o uquota on a metadir XFS
image. Injecting xfs_metadir_create() reproduced the old active-update path
that left mount stuck later in mount setup; after this change, the same
injection reported cancel_hits=1 and irele_hits=1. Injecting
xfs_metadir_commit() exercised the old inode-reference leak path; after
this change, it reported irele_hits=1.
Affected Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Linux | Linux | e80fbe1ad8eff7d7d1363e14f1e493d84dd37c84 < c3d3d2212c2966973dd7d603c6c6e6ed6fc7fbe1 | affected |
| Linux | Linux | e80fbe1ad8eff7d7d1363e14f1e493d84dd37c84 < 06a2e6dbaa26c0740ac76dfa66b0aedc78d05820 | affected |
| Linux | Linux | e80fbe1ad8eff7d7d1363e14f1e493d84dd37c84 < 45de375b25060edf46e20abb36521ba530336ceb | affected |
| Linux | Linux | 6.13 | affected |
| Linux | Linux | 0 < 6.13 | unaffected |
| Linux | Linux | 6.18.39 <= 6.18.* | unaffected |
| Linux | Linux | 7.1.4 <= 7.1.* | unaffected |
| Linux | Linux | 7.2-rc2 <= * | unaffected |
Weaknesses
References
- https://git.kernel.org/stable/c/c3d3d2212c2966973dd7d603c6c6e6ed6fc7fbe1
- https://git.kernel.org/stable/c/06a2e6dbaa26c0740ac76dfa66b0aedc78d05820
- https://git.kernel.org/stable/c/45de375b25060edf46e20abb36521ba530336ceb
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.