Description
In the Linux kernel, the following vulnerability has been resolved:
bpf: Tell memcg to use allow_spinning=false path in bpf_timer_init()
Currently, calling bpf_map_kmalloc_node() from __bpf_async_init() can
cause various locking issues; see the following stack trace (edited for
style) as one example:
...
[10.011566] do_raw_spin_lock.cold
[10.011570] try_to_wake_up (5) double-acquiring the same
[10.011575] kick_pool rq_lock, causing a hardlockup
[10.011579] __queue_work
[10.011582] queue_work_on
[10.011585] kernfs_notify
[10.011589] cgroup_file_notify
[10.011593] try_charge_memcg (4) memcg accounting raises an
[10.011597] obj_cgroup_charge_pages MEMCG_MAX event
[10.011599] obj_cgroup_charge_account
[10.011600] __memcg_slab_post_alloc_hook
[10.011603] __kmalloc_node_noprof
...
[10.011611] bpf_map_kmalloc_node
[10.011612] __bpf_async_init
[10.011615] bpf_timer_init (3) BPF calls bpf_timer_init()
[10.011617] bpf_prog_xxxxxxxxxxxxxxxx_fcg_runnable
[10.011619] bpf__sched_ext_ops_runnable
[10.011620] enqueue_task_scx (2) BPF runs with rq_lock held
[10.011622] enqueue_task
[10.011626] ttwu_do_activate
[10.011629] sched_ttwu_pending (1) grabs rq_lock
...
The above was reproduced on bpf-next (b338cf849ec8) by modifying
./tools/sched_ext/scx_flatcg.bpf.c to call bpf_timer_init() during
ops.runnable(), and hacking the memcg accounting code a bit to make
a bpf_timer_init() call more likely to raise an MEMCG_MAX event.
We have also run into other similar variants (both internally and on
bpf-next), including double-acquiring cgroup_file_kn_lock, the same
worker_pool::lock, etc.
As suggested by Shakeel, fix this by using __GFP_HIGH instead of
GFP_ATOMIC in __bpf_async_init(), so that e.g. if try_charge_memcg()
raises an MEMCG_MAX event, we call __memcg_memory_event() with
@allow_spinning=false and avoid calling cgroup_file_notify() there.
Depends on mm patch
"memcg: skip cgroup_file_notify if spinning is not allowed":
https://lore.kernel.org/bpf/20250905201606.66198-1-shakeel.butt@linux.dev/
v0 approach s/bpf_map_kmalloc_node/bpf_mem_alloc/
https://lore.kernel.org/bpf/20250905061919.439648-1-yepeilin@google.com/
v1 approach:
https://lore.kernel.org/bpf/20250905234547.862249-1-yepeilin@google.com/
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| Linux | Linux | 5.15 | 6.1.191 |
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.16.8-1 | — |
| Debian 13 | linux | 6.12.48-1 | — |
| Debian 12 | linux | No fix yet | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu Nvidia-BlueField 24.04 LTS | linux-bluefield | 6.8.0-1017.21 | — |
| Ubuntu Nvidia-BlueField 22.04 LTS | linux-bluefield | No fix yet | — |
| Ubuntu 25.10 | linux-azure-fde | No fix yet | — |
| Ubuntu 24.04 LTS | linux | 6.8.0-106.106 | USN-8095-1 |
| Ubuntu 24.04 LTS | linux-aws | 6.8.0-1050.53 | USN-8095-1 |
| Ubuntu 24.04 LTS | linux-azure | 6.8.0-1051.57 | USN-8125-1 |
| Ubuntu 24.04 LTS | linux-azure-fde | 6.8.0-1058.65 | — |
| Ubuntu 24.04 LTS | linux-azure-nvidia | 6.8.0-1039.42 | — |
| Ubuntu 24.04 LTS | linux-gcp | 6.8.0-1052.55 | USN-8095-1 |
| Ubuntu 24.04 LTS | linux-gke | 6.8.0-1048.53 | USN-8095-1 |
| Ubuntu 24.04 LTS | linux-gkeop | 6.8.0-1035.38 | USN-8095-1 |
| Ubuntu 24.04 LTS | linux-ibm | 6.8.0-1049.49 | USN-8095-1 |
| Ubuntu 24.04 LTS | linux-intel +19 | No fix yet | — |
| Ubuntu 24.04 LTS | linux-lowlatency | 6.8.0-106.106.1 | USN-8095-1 |
| Ubuntu 24.04 LTS | linux-nvidia | 6.8.0-1049.52 | USN-8100-1 |
| Ubuntu 24.04 LTS | linux-nvidia-lowlatency | 6.8.0-1049.52.1 | USN-8100-1 |
| Ubuntu 24.04 LTS | linux-nvidia-tegra | 6.8.0-1020.20 | — |
| Ubuntu 24.04 LTS | linux-oracle | 6.8.0-1047.48 | USN-8095-1 |
| Ubuntu 24.04 LTS | linux-raspi | 6.8.0-1050.54 | USN-8095-5 |
| Ubuntu 24.04 LTS | linux-xilinx | 6.8.0-1028.29 | USN-8261-1 |
| Ubuntu 22.04 LTS | linux +49 | No fix yet | — |
| Ubuntu 22.04 LTS | linux-aws-6.8 | 6.8.0-1050.53~22.04.1 | USN-8095-4 |
| Ubuntu 22.04 LTS | linux-azure-6.8 | 6.8.0-1051.57~22.04.1 | USN-8126-1 |
| Ubuntu 22.04 LTS | linux-azure-fde-6.8 | 6.8.0-1058.65~22.04.1 | — |
| Ubuntu 22.04 LTS | linux-gcp-6.8 | 6.8.0-1052.55~22.04.1 | USN-8095-1 |
| Ubuntu 22.04 LTS | linux-hwe-6.8 +1 | 6.8.0-106.106~22.04.1 | USN-8095-1 |
| Ubuntu 22.04 LTS | linux-ibm-6.8 | 6.8.0-1049.49~22.04.1 | USN-8095-1 |
| Ubuntu 22.04 LTS | linux-lowlatency-hwe-6.8 | 6.8.0-106.106.1~22.04.1 | USN-8095-1 |
| Ubuntu 22.04 LTS | linux-nvidia-6.8 | 6.8.0-1049.52~22.04.1 | USN-8100-1 |
| Ubuntu 22.04 LTS | linux-oracle-6.8 | 6.8.0-1047.48~22.04.1 | USN-8095-1 |
Show 9 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| 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-raspi-realtime | 6.8.0-2040.41 | USN-8095-5 |
| Ubuntu Pro Realtime 24.04 LTS | linux-realtime | 6.8.1-1045.46 | USN-8095-3 |
| Ubuntu Pro Realtime 24.04 LTS | linux-realtime-6.14 | No fix yet | — |
| Ubuntu Pro Realtime 22.04 LTS | linux-realtime +1 | No fix yet | — |
| Ubuntu Pro Realtime 22.04 LTS | linux-realtime-6.8 | 6.8.1-1045.46~22.04.1 | USN-8095-3 |
| Ubuntu Pro FIPS-updates 24.04 LTS | linux-aws-fips | 6.8.0-1050.53+fips1 | USN-8095-2 |
| Ubuntu Pro FIPS-updates 24.04 LTS | linux-azure-fips | 6.8.0-1052.58+fips1 | USN-8165-1 |
| Ubuntu Pro FIPS-updates 24.04 LTS | linux-fips | 6.8.0-106.106+fips1 | USN-8095-2 |
| Ubuntu Pro FIPS-updates 24.04 LTS | linux-gcp-fips | 6.8.0-1052.55+fips1 | USN-8095-2 |
| Ubuntu Pro FIPS-updates 22.04 LTS | linux-fips +3 | No fix yet | — |
| Ubuntu Pro FIPS-preview 22.04 LTS | linux-fips +3 | No fix yet | — |
| Ubuntu Pro 20.04 LTS | linux-aws-5.15 +10 | No fix yet | — |
Amazon Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Amazon Linux 2023 | kernel-livepatch-6.12.48-67.114 | 1:1.0-0.amzn2023 | ALAS2023-2025-1227 |
| Amazon Linux 2023 | perf6.12 +14 | 1:6.12.48-67.114.amzn2023 | ALAS2023-2025-1227 |
Azure Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Azure Linux 3 | kernel | 6.6.112.1-1 | — |
| Azure Linux 2 (CBL-Mariner) | kernel | No fix yet | — |
Oracle Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Oracle Linux 9 | kernel-uek +34 | 6.12.0-105.51.5.el10uek | ELSA-2025-25754 |
Advisories 13
- WID-SEC-2025-2107 Linux Kernel: Mehrere Schwachstellen BSI CERT-Bund (WID) · Nov 9, 2026
- USN-8100-1 linux-nvidia, linux-nvidia-6.8, linux-nvidia-lowlatency vulnerabilities Ubuntu Security Notices (USN) · Nov 4, 2026
- USN-8165-1 linux-azure-fips vulnerabilities Ubuntu Security Notices (USN) · Nov 4, 2026
- USN-8095-1 linux, linux-aws, linux-gcp, linux-gcp-6.8, linux-gke, linux-gkeop, linux-hwe-6.8, linux-ibm, linux-ibm-6.8, linux-lowlatency, linux-lowlatency-hwe-6.8, linux-oracle, linux-oracle-6.8 vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- USN-8095-2 linux-fips, linux-aws-fips, linux-gcp-fips vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- USN-8126-1 linux-azure-6.8 vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- USN-8095-5 linux-raspi, linux-raspi-realtime vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- USN-8125-1 linux-azure vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- USN-8095-4 linux-aws-6.8 vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- USN-8095-3 linux-realtime, linux-realtime-6.8 vulnerabilities Ubuntu Security Notices (USN) · Nov 3, 2026
- USN-8261-1 linux-xilinx vulnerabilities Ubuntu Security Notices (USN) · Sep 7, 2026
- ELSA-2025-25754 Important: Unbreakable Enterprise kernel security update (Oracle Linux 9) Oracle Linux Security Advisories (ELSA) · Nov 9, 2025
- ALAS2023-2025-1227 Important: kernel6.12 security update (Amazon Linux 2023) Amazon Linux Security Center (ALAS) · Oct 27, 2025
References
- https://git.kernel.org/stable/c/3e42431a705be8417ac5b696daa1dd43b3d27169
- https://git.kernel.org/stable/c/449682e76f32601f211816d3e2100bed87e67a4c
- https://git.kernel.org/stable/c/cd1fd26bb13473c1734e3026b2b97025a0a4087b
- https://git.kernel.org/stable/c/ac70cd446f83ccb25532b343919ab86eacdcd06a
- https://git.kernel.org/stable/c/6d78b4473cdb08b74662355a9e8510bde09c511e