Skip to content
OpenAdvisories
Unscored CVE-2025-68211 EUVD-2025-203685GHSA-qhqr-mc3h-hmjp

ksm: use range-walk function to jump over holes in scan_get_next_rmap_item

Published Dec 16, 2025 · Updated Jun 11, 2026 · Assigned by Linux

Vendor: Linux Product: Linux Package: kernel Package: linux Package: linux Package: linux-allwinner-5.19 Package: linux-aws Package: linux-aws-5.0 Package: linux-aws-5.11 Package: linux-aws-5.13 Package: linux-aws-5.15 Package: linux-aws-5.19 Package: linux-aws-5.3 Package: linux-aws-5.4 Package: linux-aws-5.8 Package: linux-aws-6.14 Package: linux-aws-6.17 Package: linux-aws-6.2 Package: linux-aws-6.5 Package: linux-aws-6.8 Package: linux-aws-fips Package: linux-aws-hwe Package: linux-azure Package: linux-azure-4.15 Package: linux-azure-5.11 Package: linux-azure-5.13 Package: linux-azure-5.15 Package: linux-azure-5.19 Package: linux-azure-5.3 Package: linux-azure-5.4 Package: linux-azure-5.8 Package: linux-azure-6.11 Package: linux-azure-6.14 Package: linux-azure-6.2 Package: linux-azure-6.5 Package: linux-azure-6.8 Package: linux-azure-edge Package: linux-azure-fde Package: linux-azure-fde-5.19 Package: linux-azure-fde-6.14 Package: linux-azure-fde-6.17 Package: linux-azure-fde-6.2 Package: linux-azure-fde-6.8 Package: linux-azure-fips Package: linux-azure-nvidia Package: linux-azure-nvidia-6.14 Package: linux-bluefield Package: linux-fips Package: linux-gcp Package: linux-gcp-4.15 Package: linux-gcp-5.11 Package: linux-gcp-5.13 Package: linux-gcp-5.15 Package: linux-gcp-5.19 Package: linux-gcp-5.3 Package: linux-gcp-5.4 Package: linux-gcp-5.8 Package: linux-gcp-6.11 Package: linux-gcp-6.14 Package: linux-gcp-6.17 Package: linux-gcp-6.2 Package: linux-gcp-6.5 Package: linux-gcp-6.8 Package: linux-gcp-fips Package: linux-gke Package: linux-gke-4.15 Package: linux-gke-5.15 Package: linux-gke-5.4 Package: linux-gkeop Package: linux-gkeop-5.15 Package: linux-gkeop-5.4 Package: linux-hwe Package: linux-hwe-5.11 Package: linux-hwe-5.13 Package: linux-hwe-5.15 Package: linux-hwe-5.19 Package: linux-hwe-5.4 Package: linux-hwe-5.8 Package: linux-hwe-6.11 Package: linux-hwe-6.14 Package: linux-hwe-6.2 Package: linux-hwe-6.5 Package: linux-hwe-6.8 Package: linux-hwe-edge Package: linux-ibm Package: linux-ibm-5.15 Package: linux-ibm-5.4 Package: linux-ibm-6.8 Package: linux-intel-5.13 Package: linux-intel-iot-realtime Package: linux-intel-iotg Package: linux-intel-iotg-5.15 Package: linux-iot Package: linux-kvm Package: linux-lowlatency Package: linux-lowlatency-hwe-5.15 Package: linux-lowlatency-hwe-5.19 Package: linux-lowlatency-hwe-6.11 Package: linux-lowlatency-hwe-6.2 Package: linux-lowlatency-hwe-6.5 Package: linux-lowlatency-hwe-6.8 Package: linux-lts-xenial Package: linux-nvidia Package: linux-nvidia-6.11 Package: linux-nvidia-6.17 Package: linux-nvidia-6.2 Package: linux-nvidia-6.5 Package: linux-nvidia-6.8 Package: linux-nvidia-lowlatency Package: linux-nvidia-tegra Package: linux-nvidia-tegra-5.15 Package: linux-nvidia-tegra-igx Package: linux-oem Package: linux-oem-5.10 Package: linux-oem-5.13 Package: linux-oem-5.14 Package: linux-oem-5.17 Package: linux-oem-5.6 Package: linux-oem-6.0 Package: linux-oem-6.1 Package: linux-oem-6.11 Package: linux-oem-6.14 Package: linux-oem-6.17 Package: linux-oem-6.5 Package: linux-oem-6.8 Package: linux-oracle Package: linux-oracle-5.0 Package: linux-oracle-5.11 Package: linux-oracle-5.13 Package: linux-oracle-5.15 Package: linux-oracle-5.3 Package: linux-oracle-5.4 Package: linux-oracle-5.8 Package: linux-oracle-6.14 Package: linux-oracle-6.17 Package: linux-oracle-6.5 Package: linux-oracle-6.8 Package: linux-raspi Package: linux-raspi-5.4 Package: linux-raspi-realtime Package: linux-raspi2 Package: linux-realtime Package: linux-realtime-6.14 Package: linux-realtime-6.17 Package: linux-realtime-6.8 Package: linux-riscv Package: linux-riscv-5.11 Package: linux-riscv-5.15 Package: linux-riscv-5.19 Package: linux-riscv-5.8 Package: linux-riscv-6.14 Package: linux-riscv-6.5 Package: linux-riscv-6.8 Package: linux-starfive-5.19 Package: linux-starfive-6.2 Package: linux-starfive-6.5 Package: linux-vmware Package: linux-xilinx Package: linux-xilinx-zynqmp Platform: Linux Ecosystem: Azure Linux Ecosystem: Debian Ecosystem: Ubuntu

Description

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

ksm: use range-walk function to jump over holes in scan_get_next_rmap_item

Currently, scan_get_next_rmap_item() walks every page address in a VMA to
locate mergeable pages. This becomes highly inefficient when scanning
large virtual memory areas that contain mostly unmapped regions, causing
ksmd to use large amount of cpu without deduplicating much pages.

This patch replaces the per-address lookup with a range walk using
walk_page_range(). The range walker allows KSM to skip over entire
unmapped holes in a VMA, avoiding unnecessary lookups. This problem was
previously discussed in [1].

Consider the following test program which creates a 32 TiB mapping in the
virtual address space but only populates a single page:

#include <unistd.h>
#include <stdio.h>
#include <sys/mman.h>

/* 32 TiB */
const size_t size = 32ul * 1024 * 1024 * 1024 * 1024;

int main() {
char *area = mmap(NULL, size, PROT_READ | PROT_WRITE,
MAP_NORESERVE | MAP_PRIVATE | MAP_ANON, -1, 0);

if (area == MAP_FAILED) {
perror("mmap() failed\n");
return -1;
}

/* Populate a single page such that we get an anon_vma. */
*area = 0;

/* Enable KSM. */
madvise(area, size, MADV_MERGEABLE);
pause();
return 0;
}

$ ./ksm-sparse &
$ echo 1 > /sys/kernel/mm/ksm/run

Without this patch ksmd uses 100% of the cpu for a long time (more then 1
hour in my test machine) scanning all the 32 TiB virtual address space
that contain only one mapped page. This makes ksmd essentially deadlocked
not able to deduplicate anything of value. With this patch ksmd walks
only the one mapped page and skips the rest of the 32 TiB virtual address
space, making the scan fast using little cpu.

Affected products

VendorProductAffectedFixed
Linux Linux 2.6.32 5.10.249

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 linux 6.17.9-1 —
Debian 13 linux 6.12.63-1 —
Debian 12 linux 6.1.162-1 DSA-6127-1
Debian 11 linux 5.10.249-1 DLA-4475-1
Debian 11 linux-6.1 6.1.162-1~deb11u1 DLA-4476-1
ReleasePackageFixed inAdvisory
Ubuntu Nvidia-BlueField 24.04 LTS linux-bluefield No fix yet —
Ubuntu Nvidia-BlueField 22.04 LTS linux-bluefield 5.15.0-1089.91 —
Ubuntu 25.10 linux 6.17.0-14.14 USN-8029-1
Ubuntu 25.10 linux-aws +2 6.17.0-1007.7 USN-8030-1, USN-8029-2
Ubuntu 25.10 linux-azure +1 6.17.0-1008.8 USN-8029-3, USN-8029-1
Ubuntu 25.10 linux-azure-fde No fix yet —
Ubuntu 25.10 linux-realtime 6.17.0-1006.7 USN-8029-1
Ubuntu 25.10 linux-riscv 6.17.0-14.14.1 —
Ubuntu 24.04 LTS linux +36 No fix yet —
Ubuntu 24.04 LTS linux-aws-6.17 +1 6.17.0-1007.7~24.04.1 —
Ubuntu 24.04 LTS linux-gcp-6.17 6.17.0-1008.8~24.04.1 —
Ubuntu 24.04 LTS linux-nvidia-6.17 6.17.0-1008.8 —
Ubuntu 24.04 LTS linux-oem-6.17 6.17.0-1011.11 USN-8048-1
Ubuntu 22.04 LTS linux 5.15.0-176.186 USN-8180-1
Ubuntu 22.04 LTS linux-aws 5.15.0-1105.112 USN-8180-1
Ubuntu 22.04 LTS linux-azure 5.15.0-1110.119 USN-8180-3
Ubuntu 22.04 LTS linux-azure-fde 5.15.0-1114.123 —
Ubuntu 22.04 LTS linux-gcp 5.15.0-1105.114 USN-8180-1
Ubuntu 22.04 LTS linux-gke 5.15.0-1101.107 USN-8180-1
Ubuntu 22.04 LTS linux-gkeop 5.15.0-1088.96 USN-8180-1
Ubuntu 22.04 LTS linux-ibm +1 5.15.0-1099.102 USN-8180-6, USN-8180-5
Ubuntu 22.04 LTS linux-intel-iotg 5.15.0-1100.106 USN-8180-3
Ubuntu 22.04 LTS linux-kvm 5.15.0-1097.102 USN-8180-3
Ubuntu 22.04 LTS linux-lowlatency 5.15.0-175.185 USN-8180-1
Ubuntu 22.04 LTS linux-nvidia 5.15.0-1100.101 USN-8180-1
Ubuntu 22.04 LTS linux-nvidia-tegra 5.15.0-1057.57 USN-8187-1
Ubuntu 22.04 LTS linux-nvidia-tegra-igx 5.15.0-1046.46 USN-8187-1
Ubuntu 22.04 LTS linux-oracle 5.15.0-1102.108 USN-8180-1
Ubuntu 22.04 LTS linux-riscv +42 No fix yet —
Ubuntu 22.04 LTS linux-xilinx-zynqmp 5.15.0-1070.74 USN-8275-1
Show 18 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Ubuntu 20.04 LTS linux-gke +28 No fix yet —
Ubuntu 18.04 LTS linux-gcp +14 No fix yet —
Ubuntu 16.04 LTS linux-hwe-edge No fix yet —
Ubuntu Pro Realtime 24.04 LTS linux-realtime +2 No fix yet —
Ubuntu Pro Realtime 24.04 LTS linux-realtime-6.17 6.17.0-1006.7~24.04.1 —
Ubuntu Pro Realtime 22.04 LTS linux-intel-iot-realtime 5.15.0-1097.99 USN-8186-1
Ubuntu Pro Realtime 22.04 LTS linux-realtime 5.15.0-1104.113 USN-8186-1
Ubuntu Pro Realtime 22.04 LTS linux-realtime-6.8 No fix yet —
Ubuntu Pro FIPS 20.04 LTS linux-fips +3 No fix yet —
Ubuntu Pro FIPS 18.04 LTS linux-fips +3 No fix yet —
Ubuntu Pro FIPS 16.04 LTS linux-fips No fix yet —
Ubuntu Pro FIPS-updates 24.04 LTS linux-fips +3 No fix yet —
Ubuntu Pro FIPS-updates 22.04 LTS linux-aws-fips 5.15.0-1105.112+fips1 —
Ubuntu Pro FIPS-updates 22.04 LTS linux-azure-fips 5.15.0-1110.119+fips1 USN-8180-4
Ubuntu Pro FIPS-updates 22.04 LTS linux-fips 5.15.0-176.186+fips1 USN-8180-2
Ubuntu Pro FIPS-updates 22.04 LTS linux-gcp-fips 5.15.0-1105.114+fips1 USN-8180-2
Ubuntu Pro FIPS-updates 20.04 LTS linux-fips +3 No fix yet —
Ubuntu Pro FIPS-updates 18.04 LTS linux-fips +3 No fix yet —
Ubuntu Pro FIPS-updates 16.04 LTS linux-fips No fix yet —
Ubuntu Pro FIPS-preview 22.04 LTS linux-fips +3 No fix yet —
Ubuntu Pro 20.04 LTS linux +10 No fix yet —
Ubuntu Pro 20.04 LTS linux-aws-5.15 5.15.0-1105.112~20.04.1 USN-8180-1
Ubuntu Pro 20.04 LTS linux-azure-5.15 5.15.0-1110.119~20.04.1 USN-8243-1
Ubuntu Pro 20.04 LTS linux-gcp-5.15 5.15.0-1106.115~20.04.1 USN-8297-1
Ubuntu Pro 20.04 LTS linux-hwe-5.15 5.15.0-176.186~20.04.1 USN-8188-1
Ubuntu Pro 20.04 LTS linux-ibm-5.15 5.15.0-1099.102~20.04.1 USN-8180-5
Ubuntu Pro 20.04 LTS linux-intel-iotg-5.15 5.15.0-1100.106~20.04.1 USN-8180-3
Ubuntu Pro 20.04 LTS linux-lowlatency-hwe-5.15 5.15.0-175.185~20.04.1 USN-8180-1
Ubuntu Pro 20.04 LTS linux-nvidia-tegra-5.15 5.15.0-1057.57~20.04.1 USN-8162-1
Ubuntu Pro 20.04 LTS linux-oracle-5.15 5.15.0-1102.108~20.04.1 USN-8180-3
Ubuntu Pro 20.04 LTS linux-riscv-5.15 5.15.0-1099.103~20.04.1 —
Ubuntu Pro 18.04 LTS linux +12 No fix yet —
Ubuntu Pro 16.04 LTS linux +7 No fix yet —
Ubuntu Pro 14.04 LTS linux +3 No fix yet —
ReleasePackageFixed inAdvisory
RHEL 10 rv +76 6.12.0-211.42.1.el10_2 RHSA-2026:49211
RHEL 9 rv +75 5.14.0-687.42.1.el9_8 RHSA-2026:59723
Show 1 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
RHEL 9.6 EUS rv +77 5.14.0-570.138.1.el9_6 RHSA-2026:62568

AlmaLinux

Errata ↗
ReleasePackageFixed inAdvisory
AlmaLinux 10 rv +74 6.12.0-211.42.1.el10_2 ALSA-2026:49211
AlmaLinux 9 rv +73 5.14.0-687.42.1.el9_8 ALSA-2026:59723

Rocky Linux

Errata ↗
ReleasePackageFixed inAdvisory
Rocky Linux 10 kernel 6.12.0-211.42.1.el10_2 RLSA-2026:49211
Rocky Linux 9 kernel 5.14.0-687.42.1.el9_8 RLSA-2026:59723
ReleasePackageFixed inAdvisory
SLES for SAP 16.0 kernel-64kb +8 6.12.0-160000.26.1 SUSE-SU-2026:20599-1
SLES for SAP 16.0 kernel-default-base 6.12.0-160000.26.1.160000.2.7 SUSE-SU-2026:20599-1
SLES 16.0 kernel-64kb +8 6.12.0-160000.26.1 SUSE-SU-2026:20615-1, SUSE-SU-2026:20599-1
SLES 16.0 kernel-default-base 6.12.0-160000.26.1.160000.2.7 SUSE-SU-2026:20599-1
SLE Micro 6.2 kernel-default-base 6.12.0-160000.26.1.160000.2.7 SUSE-SU-2026:20555-1
SLE Micro 6.2 kernel-rt +5 6.12.0-160000.26.1 SUSE-SU-2026:20570-1, SUSE-SU-2026:20555-1
ReleasePackageFixed inAdvisory
openSUSE Leap 16.0 kernel-default-base 6.12.0-160000.26.1.160000.2.7 openSUSE-SU-2026:20287-1
openSUSE Leap 16.0 kernel-rt +11 6.12.0-160000.26.1 openSUSE-SU-2026:20287-1

Azure Linux

ReleasePackageFixed inAdvisory
Azure Linux 3 kernel 6.6.121.1-1 —
Azure Linux 2 (CBL-Mariner) kernel 5.15.200.1-1 —

Oracle Linux

ReleasePackageFixed inAdvisory
Oracle Linux 10 rv +29 6.12.0-211.42.1.el10_2 ELSA-2026-49211
Oracle Linux 9 kernel-uek +34 6.12.0-107.59.3.2.el10uek ELSA-2026-50006
Oracle Linux 9 rv +28 5.14.0-687.42.1.el9_8 ELSA-2026-59723
Oracle Linux 8 bpftool +18 5.15.0-318.199.3.2.el9uek ELSA-2026-50145

Advisories 40

References