CVE-2025-38084

EUVD-2025-19449
In the Linux kernel, the following vulnerability has been resolved:

mm/hugetlb: unshare page tables during VMA split, not before

Currently, __split_vma() triggers hugetlb page table unsharing through
vm_ops->may_split().  This happens before the VMA lock and rmap locks are
taken - which is too early, it allows racing VMA-locked page faults in our
process and racing rmap walks from other processes to cause page tables to
be shared again before we actually perform the split.

Fix it by explicitly calling into the hugetlb unshare logic from
__split_vma() in the same place where THP splitting also happens.  At that
point, both the VMA and the rmap(s) are write-locked.

An annoying detail is that we can now call into the helper
hugetlb_unshare_pmds() from two different locking contexts:

1. from hugetlb_split(), holding:
    - mmap lock (exclusively)
    - VMA lock
    - file rmap lock (exclusively)
2. hugetlb_unshare_all_pmds(), which I think is designed to be able to
   call us with only the mmap lock held (in shared mode), but currently
   only runs while holding mmap lock (exclusively) and VMA lock

Backporting note:
This commit fixes a racy protection that was introduced in commit
b30c14cd6102 ("hugetlb: unshare some PMDs when splitting VMAs"); that
commit claimed to fix an issue introduced in 5.13, but it should actually
also go all the way back.

[jannh@google.com: v2]
ProviderTypeBase ScoreAtk. VectorAtk. ComplexityPriv. RequiredVector
NISTPrimary
5.5 MEDIUM
LOCAL
LOW
LOW
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Base Score
CVSS 3.x
EPSS Score
Percentile: 25%
Affected Products (NVD)
VendorProductVersion
linuxlinux_kernel
2.6.20 ≤
𝑥
< 5.10.239
linuxlinux_kernel
5.11 ≤
𝑥
< 5.15.186
linuxlinux_kernel
5.16 ≤
𝑥
< 6.1.142
linuxlinux_kernel
6.2 ≤
𝑥
< 6.6.95
linuxlinux_kernel
6.7 ≤
𝑥
< 6.12.35
linuxlinux_kernel
6.13 ≤
𝑥
< 6.15.4
debiandebian_linux
11.0
𝑥
= Vulnerable software versions
openSUSE logo
openSUSE / SLES Releases
openSUSE Product
Release
cluster-md-kmp-default
suse enterprise server 15 SP5
5.14.21-150500.55.127.1
fixed
dlm-kmp-default
suse enterprise server 15 SP5
5.14.21-150500.55.127.1
fixed
gfs2-kmp-default
suse enterprise server 15 SP5
5.14.21-150500.55.127.1
fixed
kernel-64kb
suse enterprise desktop 15 SP6
6.4.0-150600.23.65.1
fixed
suse enterprise desktop 15 SP7
6.4.0-150700.53.11.1
fixed
suse enterprise sap 15 SP6
6.4.0-150600.23.65.1
fixed
suse enterprise sap 15 SP7
6.4.0-150700.53.11.1
fixed
suse enterprise server 15 SP4
5.14.21-150400.24.179.1
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.127.1
fixed
suse enterprise server 15 SP6
6.4.0-150600.23.65.1
fixed
suse enterprise server 15 SP7
6.4.0-150700.53.11.1
fixed
kernel-azure
suse enterprise sap 15 SP6
6.4.0-150600.8.48.1
fixed
suse enterprise sap 15 SP7
6.4.0-150700.20.11.1
fixed
suse enterprise server 15 SP6
6.4.0-150600.8.48.1
fixed
suse enterprise server 15 SP7
6.4.0-150700.20.11.1
fixed
kernel-default
suse enterprise desktop 15 SP6
6.4.0-150600.23.65.1
fixed
suse enterprise desktop 15 SP7
6.4.0-150700.53.11.1
fixed
suse enterprise sap 15 SP6
6.4.0-150600.23.65.1
fixed
suse enterprise sap 15 SP7
6.4.0-150700.53.11.1
fixed
suse enterprise server 15 SP4
5.14.21-150400.24.179.1
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.127.1
fixed
suse enterprise server 15 SP6
6.4.0-150600.23.65.1
fixed
suse enterprise server 15 SP7
6.4.0-150700.53.11.1
fixed
kernel-default-base
suse enterprise desktop 15 SP6
6.4.0-150600.23.65.1.150600.12.28.4
fixed
suse enterprise desktop 15 SP7
6.4.0-150700.53.11.1.150700.17.9.4
fixed
suse enterprise sap 15 SP6
6.4.0-150600.23.65.1.150600.12.28.4
fixed
suse enterprise sap 15 SP7
6.4.0-150700.53.11.1.150700.17.9.4
fixed
suse enterprise server 15 SP4
5.14.21-150400.24.179.1.150400.24.92.1
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.127.1.150500.6.61.1
fixed
suse enterprise server 15 SP6
6.4.0-150600.23.65.1.150600.12.28.4
fixed
suse enterprise server 15 SP7
6.4.0-150700.53.11.1.150700.17.9.4
fixed
kernel-default-extra
suse enterprise desktop 15 SP6
6.4.0-150600.23.65.1
fixed
suse enterprise desktop 15 SP7
6.4.0-150700.53.11.1
fixed
suse enterprise sap 15 SP6
6.4.0-150600.23.65.1
fixed
suse enterprise sap 15 SP7
6.4.0-150700.53.11.1
fixed
suse enterprise server 15 SP6
6.4.0-150600.23.65.1
fixed
suse enterprise server 15 SP7
6.4.0-150700.53.11.1
fixed
suse enterprise workstation 15 SP6
6.4.0-150600.23.65.1
fixed
suse enterprise workstation 15 SP7
6.4.0-150700.53.11.1
fixed
kernel-docs
suse enterprise desktop 15 SP6
6.4.0-150600.23.65.1
fixed
suse enterprise desktop 15 SP7
6.4.0-150700.53.11.3
fixed
suse enterprise sap 15 SP6
6.4.0-150600.23.65.1
fixed
suse enterprise sap 15 SP7
6.4.0-150700.53.11.3
fixed
suse enterprise server 15 SP4
5.14.21-150400.24.179.1
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.127.1
fixed
suse enterprise server 15 SP6
6.4.0-150600.23.65.1
fixed
suse enterprise server 15 SP7
6.4.0-150700.53.11.3
fixed
kernel-macros
suse enterprise desktop 15 SP6
6.4.0-150600.23.65.1
fixed
suse enterprise desktop 15 SP7
6.4.0-150700.53.11.1
fixed
suse enterprise sap 15 SP6
6.4.0-150600.23.65.1
fixed
suse enterprise sap 15 SP7
6.4.0-150700.53.11.1
fixed
suse enterprise server 15 SP4
5.14.21-150400.24.179.1
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.127.1
fixed
suse enterprise server 15 SP6
6.4.0-150600.23.65.1
fixed
suse enterprise server 15 SP7
6.4.0-150700.53.11.1
fixed
kernel-obs-build
suse enterprise desktop 15 SP6
6.4.0-150600.23.65.1
fixed
suse enterprise desktop 15 SP7
6.4.0-150700.53.11.1
fixed
suse enterprise sap 15 SP6
6.4.0-150600.23.65.1
fixed
suse enterprise sap 15 SP7
6.4.0-150700.53.11.1
fixed
suse enterprise server 15 SP4
5.14.21-150400.24.179.1
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.127.1
fixed
suse enterprise server 15 SP6
6.4.0-150600.23.65.1
fixed
suse enterprise server 15 SP7
6.4.0-150700.53.11.1
fixed
kernel-source
suse enterprise desktop 15 SP6
6.4.0-150600.23.65.1
fixed
suse enterprise desktop 15 SP7
6.4.0-150700.53.11.1
fixed
suse enterprise sap 15 SP6
6.4.0-150600.23.65.1
fixed
suse enterprise sap 15 SP7
6.4.0-150700.53.11.1
fixed
suse enterprise server 15 SP4
5.14.21-150400.24.179.1
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.127.1
fixed
suse enterprise server 15 SP6
6.4.0-150600.23.65.1
fixed
suse enterprise server 15 SP7
6.4.0-150700.53.11.1
fixed
kernel-source-azure
suse enterprise sap 15 SP6
6.4.0-150600.8.48.1
fixed
suse enterprise sap 15 SP7
6.4.0-150700.20.11.1
fixed
suse enterprise server 15 SP6
6.4.0-150600.8.48.1
fixed
suse enterprise server 15 SP7
6.4.0-150700.20.11.1
fixed
kernel-syms
suse enterprise desktop 15 SP6
6.4.0-150600.23.65.1
fixed
suse enterprise desktop 15 SP7
6.4.0-150700.53.11.1
fixed
suse enterprise sap 15 SP6
6.4.0-150600.23.65.1
fixed
suse enterprise sap 15 SP7
6.4.0-150700.53.11.1
fixed
suse enterprise server 15 SP4
5.14.21-150400.24.179.1
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.127.1
fixed
suse enterprise server 15 SP6
6.4.0-150600.23.65.1
fixed
suse enterprise server 15 SP7
6.4.0-150700.53.11.1
fixed
kernel-syms-azure
suse enterprise sap 15 SP6
6.4.0-150600.8.48.1
fixed
suse enterprise sap 15 SP7
6.4.0-150700.20.11.1
fixed
suse enterprise server 15 SP6
6.4.0-150600.8.48.1
fixed
suse enterprise server 15 SP7
6.4.0-150700.20.11.1
fixed
kernel-zfcpdump
suse enterprise desktop 15 SP6
6.4.0-150600.23.65.1
fixed
suse enterprise desktop 15 SP7
6.4.0-150700.53.11.1
fixed
suse enterprise sap 15 SP6
6.4.0-150600.23.65.1
fixed
suse enterprise sap 15 SP7
6.4.0-150700.53.11.1
fixed
suse enterprise server 15 SP4
5.14.21-150400.24.179.1
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.127.1
fixed
suse enterprise server 15 SP6
6.4.0-150600.23.65.1
fixed
suse enterprise server 15 SP7
6.4.0-150700.53.11.1
fixed
ocfs2-kmp-default
suse enterprise server 15 SP5
5.14.21-150500.55.127.1
fixed
reiserfs-kmp-default
suse enterprise sap 15 SP7
6.4.0-150700.53.11.1
fixed
suse enterprise server 15 SP4
5.14.21-150400.24.179.1
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.127.1
fixed
suse enterprise server 15 SP7
6.4.0-150700.53.11.1
fixed
Red Hat logo
Red Hat Enterprise Linux Releases
Red Hat Product
Release
kernel
RHEL 9
0:5.14.0-570.35.1.el9_6
fixed
kernel-64k
RHEL 9
0:5.14.0-570.35.1.el9_6
fixed
kernel-64k-core
RHEL 9
0:5.14.0-570.35.1.el9_6
fixed
kernel-64k-debug
RHEL 9
0:5.14.0-570.35.1.el9_6
fixed
kernel-64k-debug-core
RHEL 9
0:5.14.0-570.35.1.el9_6
fixed
kernel-64k-debug-devel
RHEL 9
0:5.14.0-570.35.1.el9_6
fixed
kernel-64k-debug-devel-matched
RHEL 9
0:5.14.0-570.35.1.el9_6
fixed
kernel-64k-debug-modules
RHEL 9
0:5.14.0-570.35.1.el9_6
fixed
kernel-64k-debug-modules-core
RHEL 9
0:5.14.0-570.35.1.el9_6
fixed
kernel-64k-debug-modules-extra
RHEL 9
0:5.14.0-570.35.1.el9_6
fixed
kernel-64k-devel
RHEL 9
0:5.14.0-570.35.1.el9_6
fixed
kernel-64k-devel-matched
RHEL 9
0:5.14.0-570.35.1.el9_6
fixed
kernel-64k-modules
RHEL 9
0:5.14.0-570.35.1.el9_6
fixed
kernel-64k-modules-core
RHEL 9
0:5.14.0-570.35.1.el9_6
fixed
kernel-64k-modules-extra
RHEL 9
0:5.14.0-570.35.1.el9_6
fixed
kernel-abi-stablelists
RHEL 9
0:5.14.0-570.35.1.el9_6
fixed
kernel-core
RHEL 9
0:5.14.0-570.35.1.el9_6
fixed
kernel-debug
RHEL 9
0:5.14.0-570.35.1.el9_6
fixed
kernel-debug-core
RHEL 9
0:5.14.0-570.35.1.el9_6
fixed
kernel-debug-devel
RHEL 9
0:5.14.0-570.35.1.el9_6
fixed
kernel-debug-devel-matched
RHEL 9
0:5.14.0-570.35.1.el9_6
fixed
kernel-debug-modules
RHEL 9
0:5.14.0-570.35.1.el9_6
fixed
kernel-debug-modules-core
RHEL 9
0:5.14.0-570.35.1.el9_6
fixed
kernel-debug-modules-extra
RHEL 9
0:5.14.0-570.35.1.el9_6
fixed
kernel-debug-uki-virt
RHEL 9
0:5.14.0-570.35.1.el9_6
fixed
kernel-devel
RHEL 9
0:5.14.0-570.35.1.el9_6
fixed
kernel-devel-matched
RHEL 9
0:5.14.0-570.35.1.el9_6
fixed
kernel-doc
RHEL 9
0:5.14.0-570.35.1.el9_6
fixed
kernel-modules
RHEL 9
0:5.14.0-570.35.1.el9_6
fixed
kernel-modules-core
RHEL 9
0:5.14.0-570.35.1.el9_6
fixed
kernel-modules-extra
RHEL 9
0:5.14.0-570.35.1.el9_6
fixed
kernel-rt
RHEL 9
0:5.14.0-570.35.1.el9_6
fixed
kernel-rt-64k
RHEL 9
0:5.14.0-570.35.1.el9_6
fixed
kernel-rt-64k-core
RHEL 9
0:5.14.0-570.35.1.el9_6
fixed
kernel-rt-64k-debug
RHEL 9
0:5.14.0-570.35.1.el9_6
fixed
kernel-rt-64k-debug-core
RHEL 9
0:5.14.0-570.35.1.el9_6
fixed
kernel-rt-64k-debug-devel
RHEL 9
0:5.14.0-570.35.1.el9_6
fixed
kernel-rt-64k-debug-modules
RHEL 9
0:5.14.0-570.35.1.el9_6
fixed
kernel-rt-64k-debug-modules-core
RHEL 9
0:5.14.0-570.35.1.el9_6
fixed
kernel-rt-64k-debug-modules-extra
RHEL 9
0:5.14.0-570.35.1.el9_6
fixed
kernel-rt-64k-devel
RHEL 9
0:5.14.0-570.35.1.el9_6
fixed
kernel-rt-64k-modules
RHEL 9
0:5.14.0-570.35.1.el9_6
fixed
kernel-rt-64k-modules-core
RHEL 9
0:5.14.0-570.35.1.el9_6
fixed
kernel-rt-64k-modules-extra
RHEL 9
0:5.14.0-570.35.1.el9_6
fixed
kernel-rt-core
RHEL 9
0:5.14.0-570.35.1.el9_6
fixed
kernel-rt-debug
RHEL 9
0:5.14.0-570.35.1.el9_6
fixed
kernel-rt-debug-core
RHEL 9
0:5.14.0-570.35.1.el9_6
fixed
kernel-rt-debug-devel
RHEL 9
0:5.14.0-570.35.1.el9_6
fixed
kernel-rt-debug-kvm
RHEL 9
0:5.14.0-570.35.1.el9_6
fixed
kernel-rt-debug-modules
RHEL 9
0:5.14.0-570.35.1.el9_6
fixed
kernel-rt-debug-modules-core
RHEL 9
0:5.14.0-570.35.1.el9_6
fixed
kernel-rt-debug-modules-extra
RHEL 9
0:5.14.0-570.35.1.el9_6
fixed
kernel-rt-devel
RHEL 9
0:5.14.0-570.35.1.el9_6
fixed
kernel-rt-kvm
RHEL 9
0:5.14.0-570.35.1.el9_6
fixed
kernel-rt-modules
RHEL 9
0:5.14.0-570.35.1.el9_6
fixed
kernel-rt-modules-core
RHEL 9
0:5.14.0-570.35.1.el9_6
fixed
kernel-rt-modules-extra
RHEL 9
0:5.14.0-570.35.1.el9_6
fixed
kernel-tools
RHEL 9
0:5.14.0-570.35.1.el9_6
fixed
kernel-tools-libs
RHEL 9
0:5.14.0-570.35.1.el9_6
fixed
kernel-tools-libs-devel
RHEL 9
0:5.14.0-570.35.1.el9_6
fixed
kernel-uki-virt
RHEL 9
0:5.14.0-570.35.1.el9_6
fixed
kernel-uki-virt-addons
RHEL 9
0:5.14.0-570.35.1.el9_6
fixed
kernel-zfcpdump
RHEL 9
0:5.14.0-570.35.1.el9_6
fixed
kernel-zfcpdump-core
RHEL 9
0:5.14.0-570.35.1.el9_6
fixed
kernel-zfcpdump-devel
RHEL 9
0:5.14.0-570.35.1.el9_6
fixed
kernel-zfcpdump-devel-matched
RHEL 9
0:5.14.0-570.35.1.el9_6
fixed
kernel-zfcpdump-modules
RHEL 9
0:5.14.0-570.35.1.el9_6
fixed
kernel-zfcpdump-modules-core
RHEL 9
0:5.14.0-570.35.1.el9_6
fixed
kernel-zfcpdump-modules-extra
RHEL 9
0:5.14.0-570.35.1.el9_6
fixed
libperf
RHEL 9
0:5.14.0-570.35.1.el9_6
fixed
perf
RHEL 9
0:5.14.0-570.35.1.el9_6
fixed
python3-perf
RHEL 9
0:5.14.0-570.35.1.el9_6
fixed
rtla
RHEL 9
0:5.14.0-570.35.1.el9_6
fixed
rv
RHEL 9
0:5.14.0-570.35.1.el9_6
fixed