CVE-2025-68356

CVE-2025-68356

published December 24, 2025

CVSS
—
EPSS
0%
Percentile
10.8
In the wild
Unconfirmed
What it is

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

gfs2: Prevent recursive memory reclaim

Function new_inode() returns a new inode with inode->i_mapping->gfp_mask

set to GFP_HIGHUSER_MOVABLE. This value includes the __GFP_FS flag, so

allocations in that address space can recurse into filesystem memory

reclaim. We don't want that to happen because it can consume a

significant amount of stack memory.

Worse than that is that it can also deadlock: for example, in several

places, gfs2_unstuff_dinode() is called inside filesystem transactions.

This calls filemap_grab_folio(), which can allocate a new folio, which

can trigger memory reclaim. If memory reclaim recurses into the

filesystem and starts another transaction, a deadlock will ensue.

To fix these kinds of problems, prevent memory reclaim from recursing

into filesystem code by making sure that the gfp_mask of inode address

spaces doesn't include __GFP_FS.

The "meta" and resource group address spaces were already using GFP_NOFS

as their gfp_mask (which doesn't include __GFP_FS). The default value

of GFP_HIGHUSER_MOVABLE is less restrictive than GFP_NOFS, though. To

avoid being overly limiting, use the default value and only knock off

the __GFP_FS flag. I'm not sure if this will actually make a

difference, but it also shouldn't hurt.

This patch is loosely based on commit ad22c7a043c2 ("xfs: prevent stack

overflows from page cache allocation").

Fixes xfstest generic/273.

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00211 · 10.8th percentile
Published
2025-12-24T16:15Z
References (5)
EPSS history
Timeline
  • 24 DEC 10:32Z
    gfs2: Prevent recursive memory reclaim
    cvelistv5