CVE Catalog

CVE-2026-97521

Unknown
Published: Translated: NVD NIST

Summary

In the Linux kernel, a vulnerability in gfs2 was fixed: gfs2_quota_init() checks for duplicate quota_change IDs while holding qd_lock and the quota hash bucket bitlock. That path used gfs2_qd_search_bucket(), which takes a lockref reference via lockref_get_not_dead(). On PREEMPT_RT this may sleep, which is not allowed under the bucket bitlock, triggering 'sleeping function called from invalid context'. The fix uses a no-ref bucket lookup in this path and continues duplicate handling without taking a lockref there. It refactors gfs2_qd_search_bucket() to build on top of the no-ref helper so lookup traversal stays in one place.

Risk Assessment

The vulnerability may cause critical errors on systems with PREEMPT_RT enabled, leading to crashes or incorrect behavior of quota functionality in the GFS2 filesystem.

Recommendation

It is recommended to update the Linux kernel to a patched version and monitor GFS2 systems for unusual events.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

In the Linux kernel, the following vulnerability has been resolved: gfs2: fix quota init duplicate scan gfs2_quota_init() checks for duplicate quota_change IDs while holding qd_lock and the quota hash bucket bitlock. That path used gfs2_qd_search_bucket(), which takes a lockref reference via lockref_get_not_dead(). On PREEMPT_RT this may sleep, which is not allowed under the bucket bitlock, triggering "sleeping function called from invalid context". Use a no-ref bucket lookup in this path, then continue duplicate handling without taking a lockref there. Refactor gfs2_qd_search_bucket() to build on top of the no-ref helper so lookup traversal stays in one place. This patch fixes a bug reported by syzbot.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS