CVE-2025-68356 json
gfs2: Prevent recursive memory reclaim
published 2025-12-24 10 mo ago modified 2026-10-21 19 d ago also EUVD-2025-205098
- cvss
- —
- not scored
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.2%
- EPSS 0.2% chance of exploitation in 30 days, percentile 13%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- Linux Linux 6.6.160, 6.12.63, 6.17.13, 6.18.2, 6.19
- linux Debian 13 6.12.63-1
- linux Debian 14 6.17.13-1
debian advisories DEBIAN-CVE-2025-68356
- linux Ubuntu 25.10 6.17.0-19.19
- linux-aws Ubuntu 25.10 6.17.0-1009.9
- linux-gcp Ubuntu 25.10 6.17.0-1009.9
- linux-azure Ubuntu 25.10 6.17.0-1010.10
- linux-raspi Ubuntu 25.10 6.17.0-1010.10
- linux-riscv Ubuntu 25.10 6.17.0-19.19.1
- linux-oracle Ubuntu 25.10 6.17.0-1009.9
- linux-aws-6.17 Ubuntu 24.04 LTS 6.17.0-1009.9~24.04.2
ubuntu advisories UBUNTU-CVE-2025-68356
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- kernel-rt Linux Micro 6.2 6.12.0-160000.26.1
- kernel-64kb SLES 16.0, Linux Micro 6.2, SLES for SAP applications 16.0 6.12.0-160000.26.1
- kernel-source SLES 16.0, Linux Micro 6.2, SLES for SAP applications 16.0 6.12.0-160000.26.1
- kernel-default SLES 16.0, SLE High Availability Extension 16.0, Linux Micro 6.2 +1 more 6.12.0-160000.26.1
- kernel-default-base SLES 16.0, Linux Micro 6.2, SLES for SAP applications 16.0 6.12.0-160000.26.1.160000.2.7
- kernel-syms SLES 16.0, Linux Micro Extras 6.2, SLES for SAP applications 16.0 6.12.0-160000.26.1
- kernel-azure SLES for SAP applications 16.0, SLES 16.0 6.12.0-160000.26.1
- kernel-obs-qa SLES for SAP applications 16.0, SLES 16.0 6.12.0-160000.26.1
suse advisories SUSE-SU-2026:20555-1SUSE-SU-2026:20599-1SUSE-SU-2026:20615-1SUSE-SU-2026:20570-1
- kernel-source-longterm openSUSE Tumbleweed 6.18.16-1.1
- kernel-rt openSUSE Leap 16.0 6.12.0-160000.26.1
- dtb-aarch64 openSUSE Leap 16.0 6.12.0-160000.26.1
- kernel-64kb openSUSE Leap 16.0 6.12.0-160000.26.1
- kernel-syms openSUSE Leap 16.0 6.12.0-160000.26.1
- kernel-azure openSUSE Leap 16.0 6.12.0-160000.26.1
- kernel-obs-qa openSUSE Leap 16.0 6.12.0-160000.26.1
- kernel-source openSUSE Leap 16.0 6.12.0-160000.26.1
opensuse advisories openSUSE-SU-2026:10301-1openSUSE-SU-2026:20287-1openSUSE-SU-2026:10039-1
- git.kernel.org/stable/c/66eb53cecc5f83183535bbfb2fa6464322049b61 commit
- git.kernel.org/stable/c/edb2b255618621dc83d0ec23150e16b2c697077f commit
- git.kernel.org/stable/c/9c0960ed112398bdb6c60ccf6e6b583bc59acede commit
- git.kernel.org/stable/c/49e7347f4644d031306d56cb4d51e467cbdcbc69 commit
- git.kernel.org/stable/c/2c5f4a53476e3cab70adc77b38942c066bd2c17c commit
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2025-68356 updated cvss 7.1
kernel: gfs2: Prevent recursive memory reclaim
-
Red Hat Enterprise Linux 6 perf, kernel, python-perf, kernel-kdump, kernel-firmware, kernel-bootwrapper, +1 more Red Hat Enterprise Linux 7 perf, kernel, bpftool, kernel-rt, python-perf, kernel-kdump, +8 more Red Hat Enterprise Linux 8 perf, kernel, bpftool, kernel-rt, kernel-core, kernel-tools, +29 more Red Hat Enterprise Linux 9 rv, perf, rtla, kernel, bpftool, libperf, +83 more Red Hat Enterprise Linux 10 kernelnot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
Exploit prediction
0.22% chance of exploitation in the next 30 days, higher than 13% of all scored CVEs (FIRST EPSS, 2026-11-09).
Affected products
- Linux Linux
Classification
- Technology feeds
References
- git.kernel.org /stable/c/66eb53cecc5f83183535bbfb2fa6464322049b61
- git.kernel.org /stable/c/edb2b255618621dc83d0ec23150e16b2c697077f
- git.kernel.org /stable/c/9c0960ed112398bdb6c60ccf6e6b583bc59acede
- git.kernel.org /stable/c/49e7347f4644d031306d56cb4d51e467cbdcbc69
- git.kernel.org /stable/c/2c5f4a53476e3cab70adc77b38942c066bd2c17c
Sources
- CVE List CVE-2025-68356
- NVD CVE-2025-68356
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.