CVE-2024-56755

netfs/fscache: Add a memory barrier for FSCACHE_VOLUME_CREATING

Medium · published December 29, 2024

CVSS v3.1
5.5
EPSS
0%
Percentile
10.3
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

netfs/fscache: Add a memory barrier for FSCACHE_VOLUME_CREATING

In fscache_create_volume(), there is a missing memory barrier between the

bit-clearing operation and the wake-up operation. This may cause a

situation where, after a wake-up, the bit-clearing operation hasn't been

detected yet, leading to an indefinite wait. The triggering process is as

follows:

[cookie1] [cookie2] [volume_work]

fscache_perform_lookup

fscache_create_volume

fscache_perform_lookup

fscache_create_volume

fscache_create_volume_work

cachefiles_acquire_volume

clear_and_wake_up_bit

test_and_set_bit

test_and_set_bit

goto maybe_wait

goto no_wait

In the above process, cookie1 and cookie2 has the same volume. When cookie1

enters the -no_wait- process, it will clear the bit and wake up the waiting

process. If a barrier is missing, it may cause cookie2 to remain in the

-wait- process indefinitely.

In commit 3288666c7256 ("fscache: Use clear_and_wake_up_bit() in

fscache_create_volume_work()"), barriers were added to similar operations

in fscache_create_volume_work(), but fscache_create_volume() was missed.

By combining the clear and wake operations into clear_and_wake_up_bit() to

fix this issue.

The record
Technical detail
CVSS v3.1
5.5 · MEDIUM
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
CVSS v4.0
Not supplied
EPSS
0.00208 · 10.3th percentile
Published
2024-12-29T11:30Z
EPSS history
Timeline
  • 29 DEC 11:30Z
    netfs/fscache: Add a memory barrier for FSCACHE_VOLUME_CREATING
    cvelistv5