GPU VulnDB

Database/Kernel, userspace & hypervisor

Linux kernel CephFS client: readers hang indefinitely after cap revocation leaves stale mds_wanted

CVE-2026-80527Kernel, userspace & hypervisorcurated

Impact

cap->mds_wanted is raised in __prep_cap() before the client caps message is actually queued, so it conflates what the client wants with what the MDS is believed to know. If an MDS revokes FILE_RD after a conflicting operation from another client and the cap update never reaches the MDS, try_get_cap_refs() sees need <= mds_wanted, returns 0, and __ceph_get_caps() sleeps on i_cap_wq with no further request sent. The reader can stay blocked until unrelated cap traffic happens to wake it. On a fleet that mounts CephFS for datasets or checkpoints, that is an uninterruptible-read hang in a training or serving process, and the usual recovery is killing the job or rebooting the node rather than clearing a queue.

Who can reach it

Local processes reading files on a kernel CephFS mount; the trigger is ordinary concurrent access from another client causing the MDS to revoke FILE_RD, so no authentication step beyond having the filesystem mounted is involved. Not reachable on nodes that do not mount CephFS.

What to do

Apply the stable fix, which bounds the wait in __ceph_get_caps() and makes ceph_renew_caps() issue a synchronous OPEN whenever the wanted caps are not actually issued; the commit describes this as a backportable workaround rather than the full cap-state rework. Five stable commits are listed and the record names no fixed release. Rollout is a patched kernel and a per-node reboot, so drain and reboot nodes that mount CephFS.

References

Related entries

All Kernel, userspace & hypervisor entries

This entry is curated: imported from vendor advisories with machine assistance, not yet individually verified. Confirm against your vendor's advisory before acting, and report anything wrong.