In the Linux kernel, the following vulnerability has been resolved:
bpf: Allow LPM map access from sleepable BPF programs
trie_lookup_elem() annotates its rcu_dereference_check() walks with only rcu_read_lock_bh_held(). Because rcu_dereference_check(p, c) resolves to "c || rcu_read_lock_held()", this passes for XDP/NAPI and classic RCU readers but fails for sleepable BPF programs, which enter via __bpf_prog_enter_sleepable() and hold only rcu_read_lock_trace().
trie_update_elem() and trie_delete_elem() have the same problem in a different form: they walk the trie with plain rcu_dereference(), which asserts rcu_read_lock_held() unconditionally. Both are reachable from sleepable BPF programs via the bpf_map_update_elem / bpf_map_delete_elem helpers, and from the syscall path under classic rcu_read_lock(). In the writer paths the trie is actually protected by trie->lock (an rqspinlock taken across the walk); we never relied on the RCU read-side lock to keep nodes alive there.
A sleepable LSM hook that ends up touching an LPM trie therefore triggers lockdep on debug kernels:
============================= WARNING: suspicious RCU usage 7.1.0-... Tainted: G E ----------------------------- kernel/bpf/lpm_trie.c:249 suspicious rcu_dereference_check() usage! 1 lock held by net_tests/540: #0: (rcu_tasks_trace_srcu_struct){....}-{0:0}, at: __bpf_prog_enter_sleepable+0x26/0x280 Call Trace: dump_stack_lvl lockdep_rcu_suspicious trie_lookup_elem bpf_prog_..._enforce_security_socket_connect bpf_trampoline_... security_socket_connect __sys_connect do_syscall_64
This is lockdep-only -- no UAF, since Tasks Trace RCU does serialize against the trie's reclaim path -- but it spams the console once per distinct callsite on every debug kernel running a sleepable BPF LSM that touches an LPM trie, which is increasingly common.
For the lookup path, switch the rcu_dereference_check() annotation from rcu_read_lock_bh_held() to bpf_rcu_lock_held(), which accepts all three contexts (classic, BH, Tasks Trace). Other map types already follow this convention.
For trie_update_elem() and trie_delete_elem(), annotate the walks as rcu_dereference_protected(*p, 1) -- matching trie_free() in the same file -- since trie->lock is held across the walk. rqspinlock has no lockdep_map, so the predicate degenerates to '1' rather than lockdep_is_held(&trie->lock); the protection is real but not machine-verifiable. trie_get_next_key() also uses bare rcu_dereference() but is reachable only from the BPF syscall, which holds classic rcu_read_lock() before dispatching, so it is left untouched.
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Amazon_linux_2023 | — | Upgrade bpftool-debuginfoUpgrade kernel-debuginfoUpgrade bpftoolUpgrade kernel6.12-develUpgrade kernel6.12-modules-extra-commonUpgrade kernel6.12-toolsUpgrade kernel6.12Upgrade kernel6.12-headersUpgrade kernel6.12-tools-develUpgrade perf6.12Upgrade kernel-modules-extraUpgrade kernel6.12-debuginfo-common-x86_64Upgrade python3-perf6.12Upgrade kernel-tools-debuginfoUpgrade kernel-livepatch-6.1.180-225.360Upgrade kernel-livepatch-6.12.100-125.179Upgrade python3-perf-debuginfoUpgrade kernel-debuginfo-common-aarch64Upgrade kernelUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-develUpgrade kernel6.12-debuginfoUpgrade python3-perfUpgrade kernel-toolsUpgrade kernel-modules-extra-commonUpgrade bpftool6.12Upgrade kernel6.12-debuginfo-common-aarch64Upgrade perf-debuginfoUpgrade kernel-headersUpgrade python3-perf6.12-debuginfoUpgrade perf6.12-debuginfoUpgrade kernel6.12-tools-debuginfoUpgrade kernel6.12-modules-extraUpgrade perfUpgrade bpftool6.12-debuginfoUpgrade kernel-tools-devel | Aug 18, 2026 | Jul 25, 2026 |
| Debian | — | Upgrade linuxUpgrade linux-6.1Upgrade linux-6.12 | Aug 2, 2026 | Aug 2, 2026 |
| Redhat_linux | — | No solution exists | Jul 30, 2026 | Jul 25, 2026 |
| Ubuntu | — | Upgrade linux-image-ibmUpgrade linux-image-lowlatencyUpgrade linux-image-aws-64k-5.15Upgrade linux-image-aws-lts-24.04Upgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-nvidia-bosUpgrade linux-image-virtual-hwe-26.04Upgrade linux-image-nvidia-lowlatencyUpgrade linux-image-awsUpgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-azure-fips-6.8Upgrade linux-image-5.15.0-195-lowlatency-64kUpgrade linux-image-ibm-classicUpgrade linux-image-oracle-5.15Upgrade linux-image-5.15.0-1118-gcpUpgrade linux-image-fips-5.15Upgrade linux-image-fips-6.8Upgrade linux-image-azure-fde-lts-24.04Upgrade linux-image-generic-6.8Upgrade linux-image-7.0.0-1011-oracleUpgrade linux-image-7.0.0-1013-ibmUpgrade linux-image-7.0.0-1018-nvidiaUpgrade linux-image-generic-7.0Upgrade linux-image-generic-hwe-20.04Upgrade linux-image-ibm-6.8Upgrade linux-image-oracle-7.0Upgrade linux-image-realtime-5.15Upgrade linux-image-oracle-64k-7.0Upgrade linux-image-5.15.0-198-fipsUpgrade linux-image-5.15.0-1117-aws-fipsUpgrade linux-image-realtime-64k-hwe-26.04Upgrade linux-image-7.0.0-31-realtimeUpgrade linux-image-azure-fipsUpgrade linux-image-aws-fips-6.8Upgrade linux-image-generic-64k-5.15Upgrade linux-image-generic-64k-6.8Upgrade linux-image-6.8.0-1066-gke-64kUpgrade linux-image-gcp-lts-24.04Upgrade linux-image-7.0.0-2018-nvidia-bos-64kUpgrade linux-image-aws-64k-6.8Upgrade linux-image-6.8.0-147-lowlatencyUpgrade linux-image-azureUpgrade linux-image-6.8.0-147-fipsUpgrade linux-image-gcp-5.15Upgrade linux-image-oem-20.04dUpgrade linux-image-realtime-6.8.1Upgrade linux-image-generic-hwe-26.04Upgrade linux-image-5.15.0-1112-intel-iotgUpgrade linux-image-nvidia-7.0Upgrade linux-image-5.15.0-1109-intel-iot-realtimeUpgrade linux-image-7.0.0-1012-aws-64kUpgrade linux-image-aws-lts-22.04Upgrade linux-image-oem-26.04bUpgrade linux-image-7.0.0-1011-gcp-64kUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-azure-lts-24.04Upgrade linux-image-intel-iot-realtime-5.15Upgrade linux-image-laptop-23.10Upgrade linux-image-6.8.1-1062-realtimeUpgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-oracle-64kUpgrade linux-image-7.0.0-1012-awsUpgrade linux-image-gcp-7.0Upgrade linux-image-nvidia-bos-64k-7.0Upgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-raspi-realtimeUpgrade linux-image-aws-64k-lts-24.04Upgrade linux-image-nvidia-64k-7.0Upgrade linux-image-gke-64k-7.0Upgrade linux-image-6.8.0-147-genericUpgrade linux-image-virtual-6.8Upgrade linux-image-5.15.0-1123-azure-fipsUpgrade linux-image-azure-cvmUpgrade linux-image-azure-fdeUpgrade linux-image-kvmUpgrade linux-image-oracle-64k-6.8Upgrade linux-image-6.8.0-1067-aws-fipsUpgrade linux-image-7.0.0-31-genericUpgrade linux-image-raspi-7.0Upgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-oem-7.0Upgrade linux-image-raspiUpgrade linux-image-nvidia-64kUpgrade linux-image-gke-5.15Upgrade linux-image-gcpUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-5.15.0-1122-azure-fdeUpgrade linux-image-gcp-fipsUpgrade linux-image-6.8.0-1071-azureUpgrade linux-image-azure-7.0Upgrade linux-image-oem-26.04aUpgrade linux-image-gke-64kUpgrade linux-image-6.8.0-1067-awsUpgrade linux-image-6.8.0-1064-oracle-64kUpgrade linux-image-aws-6.8Upgrade linux-image-oem-26.04Upgrade linux-image-gkeop-6.8Upgrade linux-image-7.0.0-1011-gcpUpgrade linux-image-oracle-6.8Upgrade linux-image-5.15.0-1118-gcp-fipsUpgrade linux-image-5.15.0-1112-nvidia-lowlatencyUpgrade linux-image-6.8.0-1064-oracleUpgrade linux-image-nvidia-lowlatency-5.15Upgrade linux-image-nvidiaUpgrade linux-image-7.0.0-1006-gke-64kUpgrade linux-image-intelUpgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-gcp-64k-7.0Upgrade linux-image-7.0.0-1014-azureUpgrade linux-image-6.8.0-147-generic-64kUpgrade linux-image-nvidia-hwe-26.04Upgrade linux-image-generic-lpae-5.15Upgrade linux-image-gcp-6.8Upgrade linux-image-6.8.0-1071-gcpUpgrade linux-image-gcp-64kUpgrade linux-image-azure-fde-lts-22.04Upgrade linux-image-aws-7.0Upgrade linux-image-aws-64k-7.0Upgrade linux-image-aws-64kUpgrade linux-image-7.0.0-31-generic-64kUpgrade linux-image-7.0.0-1018-nvidia-64kUpgrade linux-image-6.8.0-1069-azure-fdeUpgrade linux-image-5.15.0-198-generic-lpaeUpgrade linux-image-5.15.0-1117-aws-64kUpgrade linux-image-5.15.0-1113-gkeUpgrade linux-image-xilinx-zynqmpUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-realtimeUpgrade linux-image-oracleUpgrade linux-image-oem-20.04cUpgrade linux-image-ibm-5.15Upgrade linux-image-genericUpgrade linux-image-gcp-64k-6.8Upgrade linux-image-azure-fips-5.15Upgrade linux-image-azure-6.8Upgrade linux-image-virtual-5.15Upgrade linux-image-generic-lpaeUpgrade linux-image-gcp-fips-6.8Upgrade linux-image-7.0.0-31-realtime-64kUpgrade linux-image-7.0.0-2018-nvidia-bosUpgrade linux-image-6.8.0-1071-azure-fipsUpgrade linux-image-5.15.0-195-lowlatencyUpgrade linux-image-oracle-lts-22.04Upgrade linux-image-nvidia-bos-64kUpgrade linux-image-nvidia-5.15Upgrade linux-image-lowlatency-64k-5.15Upgrade linux-image-intel-iotgUpgrade linux-image-gke-64k-hwe-26.04Upgrade linux-image-gke-64k-6.8Upgrade linux-image-gke-6.8Upgrade linux-image-gkeUpgrade linux-image-azure-lts-26.04Upgrade linux-image-aws-fipsUpgrade linux-image-6.8.0-1067-aws-64kUpgrade linux-image-lowlatency-64kUpgrade linux-image-fipsUpgrade linux-image-azure-lts-22.04Upgrade linux-image-gcp-lts-22.04Upgrade linux-image-5.15.0-1123-azureUpgrade linux-image-5.15.0-1111-ibmUpgrade linux-image-5.15.0-1109-kvmUpgrade linux-image-realtime-hwe-26.04Upgrade linux-image-realtime-7.0Upgrade linux-image-realtime-64kUpgrade linux-image-raspi-realtime-7.0Upgrade linux-image-oem-20.04Upgrade linux-image-gcp-fips-5.15Upgrade linux-image-lowlatency-6.8Upgrade linux-image-gke-hwe-26.04Upgrade linux-image-5.15.0-1114-oracleUpgrade linux-image-5.15.0-1112-nvidiaUpgrade linux-image-azure-fde-6.8Upgrade linux-image-azure-fde-5.15Upgrade linux-image-7.0.0-1011-oracle-64kUpgrade linux-image-lowlatency-5.15Upgrade linux-image-virtual-7.0Upgrade linux-image-oracle-lts-24.04Upgrade linux-image-oem-20.04bUpgrade linux-image-nvidia-64k-hwe-26.04Upgrade linux-image-kvm-5.15Upgrade linux-image-gke-7.0Upgrade linux-image-generic-64kUpgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-ibm-7.0Upgrade linux-image-7.0.0-1006-gkeUpgrade linux-image-5.15.0-1117-awsUpgrade linux-image-gkeop-5.15Upgrade linux-image-aws-fips-5.15Upgrade linux-image-aws-5.15Upgrade linux-image-5.15.0-198-genericUpgrade linux-image-intel-iotg-5.15Upgrade linux-image-gkeopUpgrade linux-image-generic-64k-7.0Upgrade linux-image-generic-5.15Upgrade linux-image-6.8.0-147-lowlatency-64kUpgrade linux-image-6.8.0-1071-gcp-64kUpgrade linux-image-5.15.0-198-generic-64kUpgrade linux-image-5.15.0-1116-realtimeUpgrade linux-image-5.15.0-1100-gkeopUpgrade linux-image-xilinx-zynqmp-5.15Upgrade linux-image-realtime-64k-7.0Upgrade linux-image-6.8.0-1071-gcp-fipsUpgrade linux-image-6.8.0-1066-gkeUpgrade linux-image-6.8.0-1052-gkeopUpgrade linux-image-7.0.0-1013-oemUpgrade linux-image-5.15.0-1080-xilinx-zynqmpUpgrade linux-image-virtual-hwe-20.04Upgrade linux-image-virtualUpgrade linux-image-nvidia-bos-7.0Upgrade linux-image-generic-64k-hwe-26.04Upgrade linux-image-azure-5.15Upgrade linux-image-7.0.0-1019-raspi-realtimeUpgrade linux-image-6.8.0-1067-ibmUpgrade linux-image-aws-64k-lts-22.04Upgrade linux-image-7.0.0-1019-raspiUpgrade linux-image-lowlatency-64k-6.8Upgrade linux-image-intel-iot-realtime | Sep 14, 2026 | Sep 7, 2026 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Aug 14, 2026 | Jul 25, 2026 |
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub