CVE-2026-89647: ceph: do not repeat ceph_trim_dentries() if no progress possible
ceph: do not repeat cephtrimdentries() if no progress possible
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Configuration
Apply the described kernel fix so ceph_trim_dentries(): (1) does not repeat when a full batch frees nothing (bail out with 0 after both walks if no progress was made), (2) returns -EAGAIN only from the first dentry-lease walk when something was actually freed, and (3) uses KEEP instead of TOUCH when expire_dir_lease is false (i.e., when we have no intention of reclaiming dir leases).
Linux kernel - Ceph dentry lease reclaim (ceph_trim_dentries / ceph_cap_reclaim_work) ceph_trim_dentries return behavior = -EAGAIN only from the first (dentry-lease) walk when something is freed; bail out with success (0) after both walks when nothing was freed
Event History
Frequently Asked Questions
Which systems are most likely to encounter this issue?
Linux systems using the Ceph filesystem can encounter it when the client has valid directory leases, no capability pressure to reclaim dentries, and lease walks exhaust their scan budget without finding reclaimable entries.
What is the observable impact of the affected behavior?
The capability reclaim worker can immediately requeue itself repeatedly, consuming CPU while making no reclaim progress. Valid directory leases may also be repeatedly moved in the list and have their timestamps refreshed, preventing them from aging out.