Linux Kernel Bcache Journal No-Space Deadlock Vulnerability

Vulnerability

A deadlock vulnerability has been identified in the Linux kernel's bcache component, specifically related to journal bucket management. This deadlock can occur when all journal buckets are filled by active journal sets under heavy write I/O load. During cache set registration after a reboot, the system loads active journal sets and reinserts them into the btree, a process known as journal replay. If this process triggers a btree node split, new journal requests may be generated. However, if there is no space in the journal buckets, the replay must wait for a bucket to be freed, leading to a deadlock situation. The vulnerability affects several versions of the Linux kernel.

Impact

The vulnerability can cause a journal no-space deadlock, halting the journal replay process and potentially leading to system instability.

Remediation

The vulnerability has been addressed by reserving one journal bucket during runtime, allowing it to be used exclusively during cache set registration procedures, such as journal replay. This change ensures that the journal space is never completely filled, eliminating the possibility of a no-space deadlock.

Added: Jun 9, 2025, 7:46 PM
Updated: Jun 9, 2025, 7:46 PM

Vulnerability Rating

Custom Algorithm
spread
9.0
impact
2.5
exploitability
4.0
remediation
7.7
relevance
0.0
threat
3.2
urgency
2.9
incentive
1.7

Our algorithm analyzes dozens of metrics to generate these 8 key vulnerability categories, which are then combined to calculate the overall risk score.