CVE-2022-50286
Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
15/09/2025
Last modified:
15/09/2025
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
ext4: fix delayed allocation bug in ext4_clu_mapped for bigalloc + inline<br />
<br />
When converting files with inline data to extents, delayed allocations<br />
made on a file system created with both the bigalloc and inline options<br />
can result in invalid extent status cache content, incorrect reserved<br />
cluster counts, kernel memory leaks, and potential kernel panics.<br />
<br />
With bigalloc, the code that determines whether a block must be<br />
delayed allocated searches the extent tree to see if that block maps<br />
to a previously allocated cluster. If not, the block is delayed<br />
allocated, and otherwise, it isn&#39;t. However, if the inline option is<br />
also used, and if the file containing the block is marked as able to<br />
store data inline, there isn&#39;t a valid extent tree associated with<br />
the file. The current code in ext4_clu_mapped() calls<br />
ext4_find_extent() to search the non-existent tree for a previously<br />
allocated cluster anyway, which typically finds nothing, as desired.<br />
However, a side effect of the search can be to cache invalid content<br />
from the non-existent tree (garbage) in the extent status tree,<br />
including bogus entries in the pending reservation tree.<br />
<br />
To fix this, avoid searching the extent tree when allocating blocks<br />
for bigalloc + inline files that are being converted from inline to<br />
extent mapped.
Impact
References to Advisories, Solutions, and Tools
- https://git.kernel.org/stable/c/131294c35ed6f777bd4e79d42af13b5c41bf2775
- https://git.kernel.org/stable/c/6f4200ec76a0d31200c308ec5a71c68df5417004
- https://git.kernel.org/stable/c/81b915181c630ee1cffa052e52874fe4e1ba91ac
- https://git.kernel.org/stable/c/9404839e0c9db5a517ea83c0ca3388b39d105fdf
- https://git.kernel.org/stable/c/c0c8edbc8abbe8f16d80a1d794d1ba2c12b6f193
- https://git.kernel.org/stable/c/d440d6427a5e3a877c1c259b8d2b216ddb65e185



