Linux Kernel GFS2 Recursive Glock Taking Vulnerability via FIEMAP Page Fault

Vulnerability

A vulnerability in the Linux kernel's GFS2 file system can lead to recursive glock taking. This issue arises in the 'gfs2_fiemap()' function, where 'iomap_fiemap()' is called while holding the inode glock. If the fiemap buffer is memory-mapped to the same inode and accessed, it can trigger a page fault, causing the glock to be taken again recursively. The vulnerability affects several versions of the Linux kernel.

Impact

The vulnerability can cause a deadlock situation by recursively taking the inode glock, leading to a hang in the system where the GFS2 file system is unresponsive.

Reproduction

To reproduce this vulnerability, memory-map a fiemap buffer to an inode in the GFS2 file system. Then, access the buffer in a way that triggers a page fault while 'iomap_fiemap()' is called with the inode glock held. This will cause the glock to be taken recursively, leading to a deadlock.

Remediation

The vulnerability has been fixed in the Linux kernel. Users should upgrade to the latest version where this issue has been addressed.

Added: May 6, 2026, 12:47 PM
Updated: May 6, 2026, 12:47 PM

Vulnerability Rating

Custom Algorithm
spread
9.0
impact
2.5
exploitability
3.9
remediation
7.7
relevance
7.6
threat
4.8
urgency
2.9
incentive
0.0

Our algorithm analyzes dozens of metrics to generate these 8 key vulnerability categories, which are then combined to calculate the overall risk score.