Description
In the Linux kernel, the following vulnerability has been resolved:
riscv: rewrite __kernel_map_pages() to fix sleeping in invalid context
__kernel_map_pages() is a debug function which clears the valid bit in page
table entry for deallocated pages to detect illegal memory accesses to
freed pages.
This function set/clear the valid bit using __set_memory(). __set_memory()
acquires init_mm's semaphore, and this operation may sleep. This is
problematic, because __kernel_map_pages() can be called in atomic context,
and thus is illegal to sleep. An example warning that this causes:
BUG: sleeping function called from invalid context at kernel/locking/rwsem.c:1578
in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 2, name: kthreadd
preempt_count: 2, expected: 0
CPU: 0 PID: 2 Comm: kthreadd Not tainted 6.9.0-g1d4c6d784ef6 #37
Hardware name: riscv-virtio,qemu (DT)
Call Trace:
[<ffffffff800060dc>] dump_backtrace+0x1c/0x24
[<ffffffff8091ef6e>] show_stack+0x2c/0x38
[<ffffffff8092baf8>] dump_stack_lvl+0x5a/0x72
[<ffffffff8092bb24>] dump_stack+0x14/0x1c
[<ffffffff8003b7ac>] __might_resched+0x104/0x10e
[<ffffffff8003b7f4>] __might_sleep+0x3e/0x62
[<ffffffff8093276a>] down_write+0x20/0x72
[<ffffffff8000cf00>] __set_memory+0x82/0x2fa
[<ffffffff8000d324>] __kernel_map_pages+0x5a/0xd4
[<ffffffff80196cca>] __alloc_pages_bulk+0x3b2/0x43a
[<ffffffff8018ee82>] __vmalloc_node_range+0x196/0x6ba
[<ffffffff80011904>] copy_process+0x72c/0x17ec
[<ffffffff80012ab4>] kernel_clone+0x60/0x2fe
[<ffffffff80012f62>] kernel_thread+0x82/0xa0
[<ffffffff8003552c>] kthreadd+0x14a/0x1be
[<ffffffff809357de>] ret_from_fork+0xe/0x1c
Rewrite this function with apply_to_existing_page_range(). It is fine to
not have any locking, because __kernel_map_pages() works with pages being
allocated/deallocated and those pages are not changed by anyone else in the
meantime.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| Linux | Linux | 5.7 | 6.1.95 |
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.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | linux | 6.9.7-1 | — |
| Debian 13 | linux | 6.9.7-1 | — |
| Debian 12 | linux | 6.1.99-1 | DSA-5731-1 |
| Debian 11 | linux-6.1 | 6.1.119-1~deb11u1 | DLA-4008-1 |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu Nvidia-BlueField 22.04 LTS | linux-bluefield | 5.15.0-1056.58 | — |
| Ubuntu 24.04 LTS | linux | 6.8.0-44.44 | USN-6999-1 |
| Ubuntu 24.04 LTS | linux-aws | 6.8.0-1015.16 | USN-6999-1 |
| Ubuntu 24.04 LTS | linux-gcp +1 | 6.8.0-1014.16 | USN-7004-1, USN-6999-1 |
| Ubuntu 24.04 LTS | linux-gke | 6.8.0-1010.13 | USN-6999-1 |
| Ubuntu 24.04 LTS | linux-ibm +2 | 6.8.0-1012.12 | USN-6999-1 |
| Ubuntu 24.04 LTS | linux-nvidia | 6.8.0-1013.14 | USN-7005-1 |
| Ubuntu 24.04 LTS | linux-nvidia-lowlatency | 6.8.0-1013.14.1 | USN-7005-1 |
| Ubuntu 24.04 LTS | linux-raspi | 6.8.0-1011.12 | USN-6999-2 |
| Ubuntu 24.04 LTS | linux-riscv +1 | 6.8.0-44.44.1 | USN-6999-1 |
| Ubuntu 22.04 LTS | linux +1 | 5.15.0-125.135 | USN-7100-1 |
| Ubuntu 22.04 LTS | linux-aws | 5.15.0-1072.78 | USN-7100-2 |
| Ubuntu 22.04 LTS | linux-aws-6.8 | 6.8.0-1015.16~22.04.1 | — |
| Ubuntu 22.04 LTS | linux-azure | 5.15.0-1075.84 | USN-7123-1 |
| Ubuntu 22.04 LTS | linux-azure-fde | 5.15.0-1076.85.1 | — |
| Ubuntu 22.04 LTS | linux-gcp | 5.15.0-1071.79 | USN-7100-1 |
| Ubuntu 22.04 LTS | linux-gcp-6.8 +1 | 6.8.0-1014.16~22.04.1 | — |
| Ubuntu 22.04 LTS | linux-gke | 5.15.0-1069.75 | USN-7100-1 |
| Ubuntu 22.04 LTS | linux-gkeop | 5.15.0-1055.62 | USN-7100-1 |
| Ubuntu 22.04 LTS | linux-hwe-6.8 | 6.8.0-45.45~22.04.1 | USN-7029-1 |
| Ubuntu 22.04 LTS | linux-ibm +1 | 5.15.0-1065.68 | USN-7100-1 |
| Ubuntu 22.04 LTS | linux-ibm-6.8 +1 | 6.8.0-1012.12~22.04.1 | — |
| Ubuntu 22.04 LTS | linux-intel-iotg | 5.15.0-1067.73 | USN-7144-1 |
| Ubuntu 22.04 LTS | linux-kvm | 5.15.0-1069.74 | USN-7100-1 |
| Ubuntu 22.04 LTS | linux-nvidia | 5.15.0-1067.68 | USN-7100-1 |
| Ubuntu 22.04 LTS | linux-nvidia-6.8 | 6.8.0-1013.14~22.04.1 | USN-7005-2 |
| Ubuntu 22.04 LTS | linux-nvidia-tegra | 5.15.0-1032.32 | — |
| Ubuntu 22.04 LTS | linux-nvidia-tegra-igx | 5.15.0-1020.20 | — |
| Ubuntu 22.04 LTS | linux-oracle | 5.15.0-1070.76 | USN-7100-1 |
| Ubuntu 22.04 LTS | linux-riscv +31 | No fix yet | — |
| Ubuntu 22.04 LTS | linux-riscv-6.8 +1 | 6.8.0-44.44.1~22.04.1 | USN-7008-1 |
| Ubuntu 22.04 LTS | linux-xilinx-zynqmp | 5.15.0-1038.42 | USN-7100-1 |
| Ubuntu 20.04 LTS | linux-aws-5.15 | 5.15.0-1072.78~20.04.1 | USN-7100-1 |
| Ubuntu 20.04 LTS | linux-azure-5.15 | 5.15.0-1078.87~20.04.1 | USN-7194-1 |
| Ubuntu 20.04 LTS | linux-gcp-5.15 | 5.15.0-1071.79~20.04.1 | USN-7100-1 |
| Ubuntu 20.04 LTS | linux-gke +26 | No fix yet | — |
| Ubuntu 20.04 LTS | linux-gkeop-5.15 | 5.15.0-1055.62~20.04.1 | USN-7100-1 |
| Ubuntu 20.04 LTS | linux-hwe-5.15 +1 | 5.15.0-125.135~20.04.1 | USN-7100-1 |
| Ubuntu 20.04 LTS | linux-ibm-5.15 | 5.15.0-1065.68~20.04.1 | USN-7100-1 |
| Ubuntu 20.04 LTS | linux-intel-iotg-5.15 | 5.15.0-1067.73~20.04.1 | USN-7144-1 |
| Ubuntu 20.04 LTS | linux-nvidia-tegra-5.15 | 5.15.0-1032.32~20.04.1 | — |
| Ubuntu 20.04 LTS | linux-oracle-5.15 | 5.15.0-1070.76~20.04.1 | USN-7100-1 |
| Ubuntu 20.04 LTS | linux-riscv-5.15 | 5.15.0-1068.72~20.04.1 | — |
| Ubuntu 18.04 LTS | linux-gcp +13 | No fix yet | — |
Show 6 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 16.04 LTS | linux-hwe-edge | No fix yet | — |
| Ubuntu Pro Realtime 24.04 LTS | linux-raspi-realtime | 6.8.0-2010.10 | — |
| Ubuntu Pro Realtime 24.04 LTS | linux-realtime | 6.8.1-1008.8 | — |
| Ubuntu Pro Realtime 22.04 LTS | linux-intel-iot-realtime | 5.15.0-1066.68 | — |
| Ubuntu Pro Realtime 22.04 LTS | linux-realtime | 5.15.0-1073.81 | — |
| Ubuntu Pro Realtime 22.04 LTS | linux-realtime-6.8 | 6.8.1-1008.8~22.04.1 | — |
| Ubuntu Pro FIPS-updates 24.04 LTS | linux-fips | 6.8.0-78.78+fips1 | — |
| Ubuntu Pro FIPS-updates 22.04 LTS | linux-aws-fips | 5.15.0-1072.78+fips1 | — |
| Ubuntu Pro FIPS-updates 22.04 LTS | linux-azure-fips | 5.15.0-1075.84+fips1 | — |
| Ubuntu Pro FIPS-updates 22.04 LTS | linux-fips | 5.15.0-125.135+fips1 | — |
| Ubuntu Pro FIPS-updates 22.04 LTS | linux-gcp-fips | 5.15.0-1071.79+fips1 | — |
| Ubuntu Pro FIPS-preview 22.04 LTS | linux-fips +3 | No fix yet | — |
Azure Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Azure Linux 2 (CBL-Mariner) | kernel | No fix yet | — |
Advisories 15
- WID-SEC-2024-1607 Linux Kernel: Mehrere Schwachstellen BSI CERT-Bund (WID) · Nov 5, 2026
- USN-7100-1 linux, linux-aws-5.15, linux-gcp, linux-gcp-5.15, linux-gke, linux-gkeop, linux-gkeop-5.15, linux-hwe-5.15, linux-ibm, linux-ibm-5.15, linux-kvm, linux-lowlatency, linux-lowlatency-hwe-5.15, linux-nvidia, linux-oracle, linux-oracle-5.15, linux-raspi, linux-xilinx-zynqmp vulnerabilities Ubuntu Security Notices (USN) · Oct 29, 2026
- USN-7144-1 linux-intel-iotg, linux-intel-iotg-5.15 vulnerabilities Ubuntu Security Notices (USN) · Oct 29, 2026
- USN-7194-1 linux-azure-5.15 vulnerabilities Ubuntu Security Notices (USN) · Oct 29, 2026
- USN-7100-2 linux-aws vulnerabilities Ubuntu Security Notices (USN) · Oct 29, 2026
- USN-7123-1 linux-azure vulnerabilities Ubuntu Security Notices (USN) · Oct 29, 2026
- USN-6999-1 linux, linux-aws, linux-gcp, linux-gke, linux-ibm, linux-lowlatency, linux-oem-6.8, linux-oracle vulnerabilities Ubuntu Security Notices (USN) · Oct 26, 2026
- USN-7029-1 linux-hwe-6.8 Ubuntu Security Notices (USN) · Oct 26, 2026
- USN-7005-1 linux-nvidia, linux-nvidia-lowlatency vulnerabilities Ubuntu Security Notices (USN) · Oct 26, 2026
- USN-7005-2 linux-nvidia-6.8 vulnerabilities Ubuntu Security Notices (USN) · Oct 26, 2026
- USN-7004-1 linux-azure vulnerabilities Ubuntu Security Notices (USN) · Oct 26, 2026
- USN-7008-1 linux-lowlatency-hwe-6.8 vulnerabilities Ubuntu Security Notices (USN) · Oct 26, 2026
- USN-6999-2 linux-raspi vulnerabilities Ubuntu Security Notices (USN) · Oct 26, 2026
- DLA-4008-1 linux-6.1 - security update Debian Security (DSA / DLA) · Mar 9, 2026
- DSA-5731-1 linux - security update Debian Security (DSA / DLA) · Mar 9, 2026