CVE-2024-56755
Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
29/12/2024
Last modified:
06/01/2025
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
netfs/fscache: Add a memory barrier for FSCACHE_VOLUME_CREATING<br />
<br />
In fscache_create_volume(), there is a missing memory barrier between the<br />
bit-clearing operation and the wake-up operation. This may cause a<br />
situation where, after a wake-up, the bit-clearing operation hasn&#39;t been<br />
detected yet, leading to an indefinite wait. The triggering process is as<br />
follows:<br />
<br />
[cookie1] [cookie2] [volume_work]<br />
fscache_perform_lookup<br />
fscache_create_volume<br />
fscache_perform_lookup<br />
fscache_create_volume<br />
fscache_create_volume_work<br />
cachefiles_acquire_volume<br />
clear_and_wake_up_bit<br />
test_and_set_bit<br />
test_and_set_bit<br />
goto maybe_wait<br />
goto no_wait<br />
<br />
In the above process, cookie1 and cookie2 has the same volume. When cookie1<br />
enters the -no_wait- process, it will clear the bit and wake up the waiting<br />
process. If a barrier is missing, it may cause cookie2 to remain in the<br />
-wait- process indefinitely.<br />
<br />
In commit 3288666c7256 ("fscache: Use clear_and_wake_up_bit() in<br />
fscache_create_volume_work()"), barriers were added to similar operations<br />
in fscache_create_volume_work(), but fscache_create_volume() was missed.<br />
<br />
By combining the clear and wake operations into clear_and_wake_up_bit() to<br />
fix this issue.
Impact
Base Score 3.x
5.50
Severity 3.x
MEDIUM
Vulnerable products and versions
CPE | From | Up to |
---|---|---|
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.17 (including) | 6.1.120 (excluding) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.2 (including) | 6.6.64 (excluding) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (including) | 6.11.11 (excluding) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.12 (including) | 6.12.2 (excluding) |
To consult the complete list of CPE names with products and versions, see this page
References to Advisories, Solutions, and Tools
- https://git.kernel.org/stable/c/22f9400a6f3560629478e0a64247b8fcc811a24d
- https://git.kernel.org/stable/c/539fabba965e119b98066fc6ba5257b5eaf4eda2
- https://git.kernel.org/stable/c/8beb682cc9a0798a280bbb95e3e41617237090b2
- https://git.kernel.org/stable/c/8cc1df3113cb71a0df2c46dd5b102c9e11c8a8c6
- https://git.kernel.org/stable/c/ddab02607eed9e415dc62fde421d4329e5345315