In the Linux kernel, the following vulnerability has been resolved:
rcu: Fix rcu_read_unlock() deadloop due to IRQ work
During rcu_read_unlock_special(), if this happens during irq_exit(), we can lockup if an IPI is issued. This is because the IPI itself triggers the irq_exit() path causing a recursive lock up.
This is precisely what Xiongfeng found when invoking a BPF program on the trace_tick_stop() tracepoint As shown in the trace below. Fix by managing the irq_work state correctly.
irq_exit() __irq_exit_rcu() /* in_hardirq() returns false after this */ preempt_count_sub(HARDIRQ_OFFSET) tick_irq_exit() tick_nohz_irq_exit() tick_nohz_stop_sched_tick() trace_tick_stop() /* a bpf prog is hooked on this trace point */ __bpf_trace_tick_stop() bpf_trace_run2() rcu_read_unlock_special() /* will send a IPI to itself */ irq_work_queue_on(&rdp->defer_qs_iw, rdp->cpu);
A simple reproducer can also be obtained by doing the following in tick_irq_exit(). It will hang on boot without the patch:
static inline void tick_irq_exit(void) { + rcu_read_lock(); + WRITE_ONCE(current->rcu_read_unlock_special.b.need_qs, true); + rcu_read_unlock(); +
[neeraj: Apply Frederic's suggested fix for PREEMPT_RT]
CVSS Details
- CVSS 3.1 Base Score: 7.1
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Amazon_linux_2023 | — | Upgrade python3-perf6.12-debuginfoUpgrade kernel6.12-libbpf-staticUpgrade kernel6.12-libbpfUpgrade perf6.12Upgrade kernel6.12-develUpgrade kernel6.12-tools-debuginfoUpgrade kernel6.12-headersUpgrade kernel6.12-libbpf-debuginfoUpgrade kernel6.12-debuginfoUpgrade kernel6.12-modules-extra-commonUpgrade python3-perf6.12Upgrade kernel6.12-debuginfo-common-x86_64Upgrade kernel6.12-modules-extraUpgrade kernel6.12-debuginfo-common-aarch64Upgrade kernel-livepatch-6.12.46-66.121Upgrade bpftool6.12-debuginfoUpgrade kernel6.12-toolsUpgrade bpftool6.12Upgrade kernel6.12-libbpf-develUpgrade perf6.12-debuginfoUpgrade kernel6.12Upgrade kernel6.12-tools-devel | Sep 30, 2025 | Sep 11, 2025 |
| Debian | — | Upgrade linux | Jul 23, 2026 | Jul 23, 2026 |
| Huawei Euleros 2_0_sp11 | — | Upgrade kernel-abi-stablelistsUpgrade kernel-toolsUpgrade kernel-tools-libsUpgrade bpftoolUpgrade kernelUpgrade python3-perf | Dec 12, 2025 | Dec 11, 2025 |
| Huawei Euleros 2_0_sp12 | — | Upgrade kernel-abi-stablelistsUpgrade python3-perfUpgrade kernelUpgrade kernel-tools-libsUpgrade kernel-toolsUpgrade bpftool | Jan 15, 2026 | Jan 6, 2026 |
| Huawei Euleros 2_0_sp13 | — | Upgrade kernelUpgrade bpftoolUpgrade kernel-tools-libsUpgrade kernel-toolsUpgrade python3-perfUpgrade kernel-abi-stablelists | Dec 12, 2025 | Dec 11, 2025 |
| Oracle_linux | — | Upgrade kernel-uek | Oct 16, 2025 | Sep 11, 2025 |
| Suse | — | Upgrade dtb-allwinnerUpgrade kernel-azure-develUpgrade dtb-mediatekUpgrade kernel-defaultUpgrade dlm-kmp-rtUpgrade kernel-devel-rtUpgrade kernel-rt-livepatch-develUpgrade dtb-socionextUpgrade dtb-nvidiaUpgrade kernel-default-livepatch-develUpgrade kernel-default-baseUpgrade kernel-rtUpgrade dtb-rockchipUpgrade gfs2-kmp-defaultUpgrade kernel-64kb-extraUpgrade dtb-renesasUpgrade dtb-sprdUpgrade dlm-kmp-azureUpgrade kernel-rt-develUpgrade kernel-azureUpgrade kernel-azure-vdsoUpgrade kernel-default-optionalUpgrade kernel-rt-livepatchUpgrade kernel-rt-vdsoUpgrade kselftests-kmp-defaultUpgrade kernel-source-vanillaUpgrade reiserfs-kmp-azureUpgrade dtb-xilinxUpgrade kernel-default-base-rebuildUpgrade dtb-qcomUpgrade kselftests-kmp-rtUpgrade ocfs2-kmp-defaultUpgrade kernel-docsUpgrade ocfs2-kmp-azureUpgrade cluster-md-kmp-64kbUpgrade kernel-rt_debug-vdsoUpgrade reiserfs-kmp-rtUpgrade kernel-obs-buildUpgrade kernel-develUpgrade dtb-armUpgrade dlm-kmp-defaultUpgrade kernel-debug-vdsoUpgrade kernel-rt-extraUpgrade kernel-syms-rtUpgrade kernel-zfcpdumpUpgrade kernel-macrosUpgrade kernel-64kb-optionalUpgrade dtb-hisiliconUpgrade dtb-broadcomUpgrade kernel-rt_debug-develUpgrade kernel-rt_debugUpgrade kernel-obs-qaUpgrade dtb-freescaleUpgrade dtb-amlogicUpgrade ocfs2-kmp-64kbUpgrade dtb-amdUpgrade gfs2-kmp-rtUpgrade reiserfs-kmp-defaultUpgrade dtb-caviumUpgrade kselftests-kmp-64kbUpgrade reiserfs-kmp-64kbUpgrade kselftests-kmp-azureUpgrade kernel-source-azureUpgrade kernel-docs-htmlUpgrade dtb-marvellUpgrade dlm-kmp-64kbUpgrade cluster-md-kmp-rtUpgrade dtb-apmUpgrade kernel-source-rtUpgrade kernel-kvmsmallUpgrade kernel-64kb-develUpgrade kernel-devel-azureUpgrade kernel-default-extraUpgrade cluster-md-kmp-azureUpgrade kernel-default-vdsoUpgrade kernel-debug-develUpgrade kernel-64kbUpgrade gfs2-kmp-azureUpgrade gfs2-kmp-64kbUpgrade kernel-symsUpgrade kernel-default-develUpgrade ocfs2-kmp-rtUpgrade kernel-kvmsmall-vdsoUpgrade kernel-kvmsmall-develUpgrade kernel-debugUpgrade dtb-exynosUpgrade dtb-alteraUpgrade cluster-md-kmp-defaultUpgrade dtb-amazonUpgrade dtb-appleUpgrade kernel-default-livepatchUpgrade kernel-azure-optionalUpgrade kernel-azure-extraUpgrade dtb-lgUpgrade kernel-syms-azureUpgrade kernel-sourceUpgrade kernel-rt-optional | Dec 5, 2025 | Oct 15, 2025 |
| Ubuntu | — | Upgrade linux-image-virtual-6.8Upgrade linux-image-xilinxUpgrade linux-image-6.8.0-1047-gcp-fipsUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-oem-22.04bUpgrade linux-image-oracle-64k-6.8Upgrade linux-image-6.8.0-1023-xilinxUpgrade linux-image-6.8.0-1043-gke-64kUpgrade linux-image-ibmUpgrade linux-image-6.8.0-1043-oracle-64kUpgrade linux-image-6.8.0-1043-gkeUpgrade linux-image-azureUpgrade linux-image-6.8.0-1046-nvidia-lowlatencyUpgrade linux-image-ibm-6.8Upgrade linux-image-ibm-lts-24.04Upgrade linux-image-aws-64k-lts-24.04Upgrade linux-image-nvidiaUpgrade linux-image-generic-6.8Upgrade linux-image-azure-lts-24.04Upgrade linux-image-6.8.0-1051-azureUpgrade linux-image-nvidia-64kUpgrade linux-image-6.8.0-1046-azure-fipsUpgrade linux-image-6.8.0-100-lowlatency-64kUpgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-azure-fipsUpgrade linux-image-aws-64k-6.8Upgrade linux-image-gkeop-6.8Upgrade linux-image-gke-6.8Upgrade linux-image-6.8.0-1047-gcp-64kUpgrade linux-image-awsUpgrade linux-image-aws-6.8Upgrade linux-image-raspiUpgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-gcpUpgrade linux-image-6.8.0-1046-awsUpgrade linux-image-oem-22.04aUpgrade linux-image-6.8.0-100-lowlatencyUpgrade linux-image-6.8.0-1046-aws-64kUpgrade linux-image-6.8.0-1043-oracleUpgrade linux-image-generic-lpaeUpgrade linux-image-raspi-realtime-6.8Upgrade linux-image-generic-64k-6.8Upgrade linux-image-generic-hwe-22.04Upgrade linux-image-6.8.1-1041-realtimeUpgrade linux-image-gke-64kUpgrade linux-image-kvmUpgrade linux-image-ibm-classicUpgrade linux-image-oem-22.04cUpgrade linux-image-oracle-lts-24.04Upgrade linux-image-fips-6.8Upgrade linux-image-6.8.0-1046-nvidia-64kUpgrade linux-image-6.8.0-1046-aws-fipsUpgrade linux-image-6.8.0-1046-nvidia-lowlatency-64kUpgrade linux-image-azure-fips-6.8Upgrade linux-image-raspi-realtimeUpgrade linux-image-gcp-fipsUpgrade linux-image-lowlatencyUpgrade linux-image-aws-fips-6.8Upgrade linux-image-oracle-64kUpgrade linux-image-6.8.0-100-genericUpgrade linux-image-generic-64kUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-realtimeUpgrade linux-image-oracle-6.8Upgrade linux-image-gkeUpgrade linux-image-gcp-64k-6.8Upgrade linux-image-gcp-6.8Upgrade linux-image-azure-6.8Upgrade linux-image-6.8.0-1046-nvidiaUpgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-gkeopUpgrade linux-image-6.8.0-1047-gcpUpgrade linux-image-aws-fipsUpgrade linux-image-virtualUpgrade linux-image-lowlatency-64k-6.8Upgrade linux-image-nvidia-lowlatency-6.8Upgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-oem-22.04dUpgrade linux-image-intel-iotgUpgrade linux-image-oracleUpgrade linux-image-aws-lts-24.04Upgrade linux-image-6.8.0-100-generic-64kUpgrade linux-image-lowlatency-64kUpgrade linux-image-realtime-hwe-22.04Upgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-xilinx-zynqmpUpgrade linux-image-gcp-64kUpgrade linux-image-xilinx-6.8Upgrade linux-image-6.8.0-1047-raspiUpgrade linux-image-intel-iot-realtimeUpgrade linux-image-nvidia-6.8Upgrade linux-image-lowlatency-6.8Upgrade linux-image-realtime-6.8.1Upgrade linux-image-6.8.0-1046-azureUpgrade linux-image-fipsUpgrade linux-image-gcp-lts-24.04Upgrade linux-image-6.8.0-2037-raspi-realtimeUpgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-6.8.0-1044-ibmUpgrade linux-image-nvidia-lowlatency-64k-6.8Upgrade linux-image-6.8.0-1030-gkeopUpgrade linux-image-genericUpgrade linux-image-oem-22.04Upgrade linux-image-raspi-6.8Upgrade linux-image-nvidia-64k-6.8Upgrade linux-image-gcp-fips-6.8Upgrade linux-image-gke-64k-6.8Upgrade linux-image-aws-64kUpgrade linux-image-6.8.0-100-fipsUpgrade linux-image-virtual-hwe-22.04 | Feb 12, 2026 | Sep 11, 2025 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Feb 9, 2026 | Sep 11, 2025 |
Prioritise with Active Threat Intelligence
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