CVE-2026-23097

EUVD-2026-5445
In the Linux kernel, the following vulnerability has been resolved:

migrate: correct lock ordering for hugetlb file folios

Syzbot has found a deadlock (analyzed by Lance Yang):

1) Task (5749): Holds folio_lock, then tries to acquire i_mmap_rwsem(read lock).
2) Task (5754): Holds i_mmap_rwsem(write lock), then tries to acquire
folio_lock.

migrate_pages()
  -> migrate_hugetlbs()
    -> unmap_and_move_huge_page()     <- Takes folio_lock!
      -> remove_migration_ptes()
        -> __rmap_walk_file()
          -> i_mmap_lock_read()       <- Waits for i_mmap_rwsem(read lock)!

hugetlbfs_fallocate()
  -> hugetlbfs_punch_hole()           <- Takes i_mmap_rwsem(write lock)!
    -> hugetlbfs_zero_partial_page()
     -> filemap_lock_hugetlb_folio()
      -> filemap_lock_folio()
        -> __filemap_get_folio        <- Waits for folio_lock!

The migration path is the one taking locks in the wrong order according to
the documentation at the top of mm/rmap.c.  So expand the scope of the
existing i_mmap_lock to cover the calls to remove_migration_ptes() too.

This is (mostly) how it used to be after commit c0d0381ade79.  That was
removed by 336bf30eb765 for both file & anon hugetlb pages when it should
only have been removed for anon hugetlb pages.
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: 4%
Affected Products (NVD)
VendorProductVersion
linuxlinux_kernel
5.9.9 ≤
𝑥
< 5.10
linuxlinux_kernel
5.10.1 ≤
𝑥
< 5.10.249
linuxlinux_kernel
5.11 ≤
𝑥
< 5.15.199
linuxlinux_kernel
5.16 ≤
𝑥
< 6.1.162
linuxlinux_kernel
6.2 ≤
𝑥
< 6.6.122
linuxlinux_kernel
6.7 ≤
𝑥
< 6.12.68
linuxlinux_kernel
6.13 ≤
𝑥
< 6.18.8
linuxlinux_kernel
5.10
linuxlinux_kernel
5.10:rc4
linuxlinux_kernel
5.10:rc5
linuxlinux_kernel
5.10:rc6
linuxlinux_kernel
5.10:rc7
linuxlinux_kernel
6.19:rc1
linuxlinux_kernel
6.19:rc2
linuxlinux_kernel
6.19:rc3
linuxlinux_kernel
6.19:rc4
linuxlinux_kernel
6.19:rc5
linuxlinux_kernel
6.19:rc6
𝑥
= Vulnerable software versions
Debian logo
Debian Releases
Debian Product
Codename
linux
bookworm
6.1.170-3
fixed
bookworm (security)
6.1.172-1
fixed
bullseye
vulnerable
bullseye (security)
5.10.251-5
fixed
forky
7.0.7-1
fixed
sid
7.0.7-1
fixed
trixie
6.12.86-1
fixed
trixie (security)
6.12.88-1
fixed
linux-6.1
bullseye (security)
6.1.172-1~deb11u1
fixed
Red Hat logo
Red Hat Enterprise Linux Releases
Red Hat Product
Release
bpftool
RHEL 8
0:4.18.0-553.109.1.el8_10
fixed
RHEL 8.6 AUS
0:4.18.0-372.190.1.el8_6
fixed
RHEL 8.6 E4S
0:4.18.0-372.190.1.el8_6
fixed
RHEL 8.6 TUS
0:4.18.0-372.190.1.el8_6
fixed
RHEL 8.8 E4S
0:4.18.0-477.139.1.el8_8
fixed
RHEL 8.8 TUS
0:4.18.0-477.139.1.el8_8
fixed
kernel
RHEL 8
0:4.18.0-553.109.1.el8_10
fixed
RHEL 8.6 AUS
0:4.18.0-372.190.1.el8_6
fixed
RHEL 8.6 E4S
0:4.18.0-372.190.1.el8_6
fixed
RHEL 8.6 TUS
0:4.18.0-372.190.1.el8_6
fixed
RHEL 8.8 E4S
0:4.18.0-477.139.1.el8_8
fixed
RHEL 8.8 TUS
0:4.18.0-477.139.1.el8_8
fixed
RHEL 9
0:5.14.0-611.36.1.el9_7
fixed
kernel-64k
RHEL 9
0:5.14.0-611.36.1.el9_7
fixed
kernel-64k-core
RHEL 9
0:5.14.0-611.36.1.el9_7
fixed
kernel-64k-debug
RHEL 9
0:5.14.0-611.36.1.el9_7
fixed
kernel-64k-debug-core
RHEL 9
0:5.14.0-611.36.1.el9_7
fixed
kernel-64k-debug-devel
RHEL 9
0:5.14.0-611.36.1.el9_7
fixed
kernel-64k-debug-devel-matched
RHEL 9
0:5.14.0-611.36.1.el9_7
fixed
kernel-64k-debug-modules
RHEL 9
0:5.14.0-611.36.1.el9_7
fixed
kernel-64k-debug-modules-core
RHEL 9
0:5.14.0-611.36.1.el9_7
fixed
kernel-64k-debug-modules-extra
RHEL 9
0:5.14.0-611.36.1.el9_7
fixed
kernel-64k-devel
RHEL 9
0:5.14.0-611.36.1.el9_7
fixed
kernel-64k-devel-matched
RHEL 9
0:5.14.0-611.36.1.el9_7
fixed
kernel-64k-modules
RHEL 9
0:5.14.0-611.36.1.el9_7
fixed
kernel-64k-modules-core
RHEL 9
0:5.14.0-611.36.1.el9_7
fixed
kernel-64k-modules-extra
RHEL 9
0:5.14.0-611.36.1.el9_7
fixed
kernel-abi-stablelists
RHEL 8
0:4.18.0-553.109.1.el8_10
fixed
RHEL 8.6 AUS
0:4.18.0-372.190.1.el8_6
fixed
RHEL 8.6 E4S
0:4.18.0-372.190.1.el8_6
fixed
RHEL 8.6 TUS
0:4.18.0-372.190.1.el8_6
fixed
RHEL 8.8 E4S
0:4.18.0-477.139.1.el8_8
fixed
RHEL 8.8 TUS
0:4.18.0-477.139.1.el8_8
fixed
RHEL 9
0:5.14.0-611.36.1.el9_7
fixed
kernel-core
RHEL 8
0:4.18.0-553.109.1.el8_10
fixed
RHEL 8.6 AUS
0:4.18.0-372.190.1.el8_6
fixed
RHEL 8.6 E4S
0:4.18.0-372.190.1.el8_6
fixed
RHEL 8.6 TUS
0:4.18.0-372.190.1.el8_6
fixed
RHEL 8.8 E4S
0:4.18.0-477.139.1.el8_8
fixed
RHEL 8.8 TUS
0:4.18.0-477.139.1.el8_8
fixed
RHEL 9
0:5.14.0-611.36.1.el9_7
fixed
kernel-debug
RHEL 8
0:4.18.0-553.109.1.el8_10
fixed
RHEL 8.6 AUS
0:4.18.0-372.190.1.el8_6
fixed
RHEL 8.6 E4S
0:4.18.0-372.190.1.el8_6
fixed
RHEL 8.6 TUS
0:4.18.0-372.190.1.el8_6
fixed
RHEL 8.8 E4S
0:4.18.0-477.139.1.el8_8
fixed
RHEL 8.8 TUS
0:4.18.0-477.139.1.el8_8
fixed
RHEL 9
0:5.14.0-611.36.1.el9_7
fixed
kernel-debug-core
RHEL 8
0:4.18.0-553.109.1.el8_10
fixed
RHEL 8.6 AUS
0:4.18.0-372.190.1.el8_6
fixed
RHEL 8.6 E4S
0:4.18.0-372.190.1.el8_6
fixed
RHEL 8.6 TUS
0:4.18.0-372.190.1.el8_6
fixed
RHEL 8.8 E4S
0:4.18.0-477.139.1.el8_8
fixed
RHEL 8.8 TUS
0:4.18.0-477.139.1.el8_8
fixed
RHEL 9
0:5.14.0-611.36.1.el9_7
fixed
kernel-debug-devel
RHEL 8
0:4.18.0-553.109.1.el8_10
fixed
RHEL 8.6 AUS
0:4.18.0-372.190.1.el8_6
fixed
RHEL 8.6 E4S
0:4.18.0-372.190.1.el8_6
fixed
RHEL 8.6 TUS
0:4.18.0-372.190.1.el8_6
fixed
RHEL 8.8 E4S
0:4.18.0-477.139.1.el8_8
fixed
RHEL 8.8 TUS
0:4.18.0-477.139.1.el8_8
fixed
RHEL 9
0:5.14.0-611.36.1.el9_7
fixed
kernel-debug-devel-matched
RHEL 9
0:5.14.0-611.36.1.el9_7
fixed
kernel-debug-modules
RHEL 8
0:4.18.0-553.109.1.el8_10
fixed
RHEL 8.6 AUS
0:4.18.0-372.190.1.el8_6
fixed
RHEL 8.6 E4S
0:4.18.0-372.190.1.el8_6
fixed
RHEL 8.6 TUS
0:4.18.0-372.190.1.el8_6
fixed
RHEL 8.8 E4S
0:4.18.0-477.139.1.el8_8
fixed
RHEL 8.8 TUS
0:4.18.0-477.139.1.el8_8
fixed
RHEL 9
0:5.14.0-611.36.1.el9_7
fixed
kernel-debug-modules-core
RHEL 9
0:5.14.0-611.36.1.el9_7
fixed
kernel-debug-modules-extra
RHEL 8
0:4.18.0-553.109.1.el8_10
fixed
RHEL 8.6 AUS
0:4.18.0-372.190.1.el8_6
fixed
RHEL 8.6 E4S
0:4.18.0-372.190.1.el8_6
fixed
RHEL 8.6 TUS
0:4.18.0-372.190.1.el8_6
fixed
RHEL 8.8 E4S
0:4.18.0-477.139.1.el8_8
fixed
RHEL 8.8 TUS
0:4.18.0-477.139.1.el8_8
fixed
RHEL 9
0:5.14.0-611.36.1.el9_7
fixed
kernel-debug-uki-virt
RHEL 9
0:5.14.0-611.36.1.el9_7
fixed
kernel-devel
RHEL 8
0:4.18.0-553.109.1.el8_10
fixed
RHEL 8.6 AUS
0:4.18.0-372.190.1.el8_6
fixed
RHEL 8.6 E4S
0:4.18.0-372.190.1.el8_6
fixed
RHEL 8.6 TUS
0:4.18.0-372.190.1.el8_6
fixed
RHEL 8.8 E4S
0:4.18.0-477.139.1.el8_8
fixed
RHEL 8.8 TUS
0:4.18.0-477.139.1.el8_8
fixed
RHEL 9
0:5.14.0-611.36.1.el9_7
fixed
kernel-devel-matched
RHEL 9
0:5.14.0-611.36.1.el9_7
fixed
kernel-doc
RHEL 8
0:4.18.0-553.109.1.el8_10
fixed
RHEL 8.6 AUS
0:4.18.0-372.190.1.el8_6
fixed
RHEL 8.6 E4S
0:4.18.0-372.190.1.el8_6
fixed
RHEL 8.6 TUS
0:4.18.0-372.190.1.el8_6
fixed
RHEL 8.8 E4S
0:4.18.0-477.139.1.el8_8
fixed
RHEL 8.8 TUS
0:4.18.0-477.139.1.el8_8
fixed
RHEL 9
0:5.14.0-611.36.1.el9_7
fixed
kernel-modules
RHEL 8
0:4.18.0-553.109.1.el8_10
fixed
RHEL 8.6 AUS
0:4.18.0-372.190.1.el8_6
fixed
RHEL 8.6 E4S
0:4.18.0-372.190.1.el8_6
fixed
RHEL 8.6 TUS
0:4.18.0-372.190.1.el8_6
fixed
RHEL 8.8 E4S
0:4.18.0-477.139.1.el8_8
fixed
RHEL 8.8 TUS
0:4.18.0-477.139.1.el8_8
fixed
RHEL 9
0:5.14.0-611.36.1.el9_7
fixed
kernel-modules-core
RHEL 9
0:5.14.0-611.36.1.el9_7
fixed
kernel-modules-extra
RHEL 8
0:4.18.0-553.109.1.el8_10
fixed
RHEL 8.6 AUS
0:4.18.0-372.190.1.el8_6
fixed
RHEL 8.6 E4S
0:4.18.0-372.190.1.el8_6
fixed
RHEL 8.6 TUS
0:4.18.0-372.190.1.el8_6
fixed
RHEL 8.8 E4S
0:4.18.0-477.139.1.el8_8
fixed
RHEL 8.8 TUS
0:4.18.0-477.139.1.el8_8
fixed
RHEL 9
0:5.14.0-611.36.1.el9_7
fixed
kernel-rt
RHEL 8
0:4.18.0-553.109.1.rt7.450.el8_10
fixed
RHEL 9
0:5.14.0-611.36.1.el9_7
fixed
kernel-rt-64k
RHEL 9
0:5.14.0-611.36.1.el9_7
fixed
kernel-rt-64k-core
RHEL 9
0:5.14.0-611.36.1.el9_7
fixed
kernel-rt-64k-debug
RHEL 9
0:5.14.0-611.36.1.el9_7
fixed
kernel-rt-64k-debug-core
RHEL 9
0:5.14.0-611.36.1.el9_7
fixed
kernel-rt-64k-debug-devel
RHEL 9
0:5.14.0-611.36.1.el9_7
fixed
kernel-rt-64k-debug-modules
RHEL 9
0:5.14.0-611.36.1.el9_7
fixed
kernel-rt-64k-debug-modules-core
RHEL 9
0:5.14.0-611.36.1.el9_7
fixed
kernel-rt-64k-debug-modules-extra
RHEL 9
0:5.14.0-611.36.1.el9_7
fixed
kernel-rt-64k-devel
RHEL 9
0:5.14.0-611.36.1.el9_7
fixed
kernel-rt-64k-modules
RHEL 9
0:5.14.0-611.36.1.el9_7
fixed
kernel-rt-64k-modules-core
RHEL 9
0:5.14.0-611.36.1.el9_7
fixed
kernel-rt-64k-modules-extra
RHEL 9
0:5.14.0-611.36.1.el9_7
fixed
kernel-rt-core
RHEL 8
0:4.18.0-553.109.1.rt7.450.el8_10
fixed
RHEL 9
0:5.14.0-611.36.1.el9_7
fixed
kernel-rt-debug
RHEL 8
0:4.18.0-553.109.1.rt7.450.el8_10
fixed
RHEL 9
0:5.14.0-611.36.1.el9_7
fixed
kernel-rt-debug-core
RHEL 8
0:4.18.0-553.109.1.rt7.450.el8_10
fixed
RHEL 9
0:5.14.0-611.36.1.el9_7
fixed
kernel-rt-debug-devel
RHEL 8
0:4.18.0-553.109.1.rt7.450.el8_10
fixed
RHEL 9
0:5.14.0-611.36.1.el9_7
fixed
kernel-rt-debug-kvm
RHEL 8
0:4.18.0-553.109.1.rt7.450.el8_10
fixed
kernel-rt-debug-modules
RHEL 8
0:4.18.0-553.109.1.rt7.450.el8_10
fixed
RHEL 9
0:5.14.0-611.36.1.el9_7
fixed
kernel-rt-debug-modules-core
RHEL 9
0:5.14.0-611.36.1.el9_7
fixed
kernel-rt-debug-modules-extra
RHEL 8
0:4.18.0-553.109.1.rt7.450.el8_10
fixed
RHEL 9
0:5.14.0-611.36.1.el9_7
fixed
kernel-rt-devel
RHEL 8
0:4.18.0-553.109.1.rt7.450.el8_10
fixed
RHEL 9
0:5.14.0-611.36.1.el9_7
fixed
kernel-rt-kvm
RHEL 8
0:4.18.0-553.109.1.rt7.450.el8_10
fixed
kernel-rt-modules
RHEL 8
0:4.18.0-553.109.1.rt7.450.el8_10
fixed
RHEL 9
0:5.14.0-611.36.1.el9_7
fixed
kernel-rt-modules-core
RHEL 9
0:5.14.0-611.36.1.el9_7
fixed
kernel-rt-modules-extra
RHEL 8
0:4.18.0-553.109.1.rt7.450.el8_10
fixed
RHEL 9
0:5.14.0-611.36.1.el9_7
fixed
kernel-tools
RHEL 8
0:4.18.0-553.109.1.el8_10
fixed
RHEL 8.6 AUS
0:4.18.0-372.190.1.el8_6
fixed
RHEL 8.6 E4S
0:4.18.0-372.190.1.el8_6
fixed
RHEL 8.6 TUS
0:4.18.0-372.190.1.el8_6
fixed
RHEL 8.8 E4S
0:4.18.0-477.139.1.el8_8
fixed
RHEL 8.8 TUS
0:4.18.0-477.139.1.el8_8
fixed
RHEL 9
0:5.14.0-611.36.1.el9_7
fixed
kernel-tools-libs
RHEL 8
0:4.18.0-553.109.1.el8_10
fixed
RHEL 8.6 AUS
0:4.18.0-372.190.1.el8_6
fixed
RHEL 8.6 E4S
0:4.18.0-372.190.1.el8_6
fixed
RHEL 8.6 TUS
0:4.18.0-372.190.1.el8_6
fixed
RHEL 8.8 E4S
0:4.18.0-477.139.1.el8_8
fixed
RHEL 8.8 TUS
0:4.18.0-477.139.1.el8_8
fixed
RHEL 9
0:5.14.0-611.36.1.el9_7
fixed
kernel-tools-libs-devel
RHEL 8
0:4.18.0-553.109.1.el8_10
fixed
RHEL 9
0:5.14.0-611.36.1.el9_7
fixed
kernel-uki-virt
RHEL 9
0:5.14.0-611.36.1.el9_7
fixed
kernel-uki-virt-addons
RHEL 9
0:5.14.0-611.36.1.el9_7
fixed
kernel-zfcpdump
RHEL 8
0:4.18.0-553.109.1.el8_10
fixed
RHEL 8.6 E4S
0:4.18.0-372.190.1.el8_6
fixed
RHEL 9
0:5.14.0-611.36.1.el9_7
fixed
kernel-zfcpdump-core
RHEL 8
0:4.18.0-553.109.1.el8_10
fixed
RHEL 8.6 E4S
0:4.18.0-372.190.1.el8_6
fixed
RHEL 9
0:5.14.0-611.36.1.el9_7
fixed
kernel-zfcpdump-devel
RHEL 8
0:4.18.0-553.109.1.el8_10
fixed
RHEL 8.6 E4S
0:4.18.0-372.190.1.el8_6
fixed
RHEL 9
0:5.14.0-611.36.1.el9_7
fixed
kernel-zfcpdump-devel-matched
RHEL 9
0:5.14.0-611.36.1.el9_7
fixed
kernel-zfcpdump-modules
RHEL 8
0:4.18.0-553.109.1.el8_10
fixed
RHEL 8.6 E4S
0:4.18.0-372.190.1.el8_6
fixed
RHEL 9
0:5.14.0-611.36.1.el9_7
fixed
kernel-zfcpdump-modules-core
RHEL 9
0:5.14.0-611.36.1.el9_7
fixed
kernel-zfcpdump-modules-extra
RHEL 8
0:4.18.0-553.109.1.el8_10
fixed
RHEL 8.6 E4S
0:4.18.0-372.190.1.el8_6
fixed
RHEL 9
0:5.14.0-611.36.1.el9_7
fixed
libperf
RHEL 9
0:5.14.0-611.36.1.el9_7
fixed
perf
RHEL 8
0:4.18.0-553.109.1.el8_10
fixed
RHEL 8.6 AUS
0:4.18.0-372.190.1.el8_6
fixed
RHEL 8.6 E4S
0:4.18.0-372.190.1.el8_6
fixed
RHEL 8.6 TUS
0:4.18.0-372.190.1.el8_6
fixed
RHEL 8.8 E4S
0:4.18.0-477.139.1.el8_8
fixed
RHEL 8.8 TUS
0:4.18.0-477.139.1.el8_8
fixed
RHEL 9
0:5.14.0-611.36.1.el9_7
fixed
python3-perf
RHEL 8
0:4.18.0-553.109.1.el8_10
fixed
RHEL 8.6 AUS
0:4.18.0-372.190.1.el8_6
fixed
RHEL 8.6 E4S
0:4.18.0-372.190.1.el8_6
fixed
RHEL 8.6 TUS
0:4.18.0-372.190.1.el8_6
fixed
RHEL 8.8 E4S
0:4.18.0-477.139.1.el8_8
fixed
RHEL 8.8 TUS
0:4.18.0-477.139.1.el8_8
fixed
RHEL 9
0:5.14.0-611.36.1.el9_7
fixed
rtla
RHEL 9
0:5.14.0-611.36.1.el9_7
fixed
rv
RHEL 9
0:5.14.0-611.36.1.el9_7
fixed