CVE-2026-89567
Low risk· EPSS 10%Exploitation Probability (EPSS)
Low risk10th percentile - higher than 10% of all known CVEs
Summary
In the Linux kernel, the jbd2 shrinker only counted successfully released checkpoint buffers against nr_to_scan, so busy buffers did not consume the scan budget. With a large checkpoint list mostly of busy buffers, the shrinker could scan the entire list while holding journal->j_list_lock, causing long lock hold times and soft lockups or RCU stalls.
Risk Assessment
Long j_list_lock hold times can cause soft lockups, RCU stalls, and overall system performance degradation under memory pressure.
Recommendation
Update the Linux kernel to a version where nr_to_scan is passed into journal_shrink_one_cp_list() and decremented for every buffer examined, including busy buffers.
Other vulnerabilities in Linux kernel (jbd2)
Original NVD description (English source)
In the Linux kernel, the following vulnerability has been resolved: jbd2: bound shrinker scans by examined checkpoint buffers The jbd2 shrinker currently accounts only checkpoint buffers that it successfully releases against nr_to_scan. Busy buffers therefore do not consume the scan budget. If a checkpoint transaction contains mostly busy buffers, the shrinker can scan its entire checkpoint list while holding journal->j_list_lock. Large checkpoint lists can result in excessive lock hold times and leave other CPUs spinning on j_list_lock, causing soft lockups or RCU stalls. Pass nr_to_scan into journal_shrink_one_cp_list() and decrement it for every buffer examined, including busy buffers. Pass NULL from checkpoint cleanup paths so their existing full-list behavior is preserved. This restores the scan-budget semantics that existed before journal_shrink_one_cp_list() was changed to always scan a complete checkpoint list.
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

