CVE-2026-97521: gfs2: fix quota init duplicate scan

Published Sep 24, 2026
·
Updated

In the Linux kernel, the following vulnerability has been resolved:

gfs2: fix quota init duplicate scan

gfs2quotainit() checks for duplicate quotachange IDs while holding qdlock and the quota hash bucket bitlock. That path used gfs2qdsearchbucket(), which takes a lockref reference via lockrefgetnotdead().

On PREEMPTRT 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 gfs2qdsearchbucket() to build on top of the no-ref helper so lookup traversal stays in one place.

This patch fixes a bug reported by syzbot.

Affected Software

1 affected component
Linux Linux kernel

Event History

Sep 24, 2026
CVE Published
via MITRE·04:05 PM
Data Sourced
via MITRE·04:05 PM
Description
Data Sourced
via NVD·05:17 PM
Description

Frequently Asked Questions

1

Which systems are most likely to encounter this issue?

Systems using the GFS2 filesystem with PREEMPT_RT are the relevant environment. The problematic path is quota initialization while checking for duplicate quota_change IDs.

2

What symptom indicates that the vulnerable path has been triggered?

On PREEMPT_RT, the kernel may report "sleeping function called from invalid context." This occurs because a lockref reference acquisition can sleep while a quota hash bucket bitlock is held.

3

What change resolves the issue?

The fix uses a bucket lookup that does not acquire a lockref in the locked duplicate-check path. The referenced stable kernel commits contain the remediation.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203