In the Linux kernel, the following vulnerability has been resolved:
net: ntb_netdev: Move ntb_netdev_rx_handler() to call netif_rx() from __netif_rx()
The following is emitted when using idxd (DSA) dmanegine as the data mover for ntb_transport that ntb_netdev uses.
[74412.546922] BUG: using smp_processor_id() in preemptible [00000000] code: irq/52-idxd-por/14526 [74412.556784] caller is netif_rx_internal+0x42/0x130 [74412.562282] CPU: 6 PID: 14526 Comm: irq/52-idxd-por Not tainted 6.9.5 #5 [74412.569870] Hardware name: Intel Corporation ArcherCity/ArcherCity, BIOS EGSDCRB1.E9I.1752.P05.2402080856 02/08/2024 [74412.581699] Call Trace: [74412.584514] <TASK> [74412.586933] dump_stack_lvl+0x55/0x70 [74412.591129] check_preemption_disabled+0xc8/0xf0 [74412.596374] netif_rx_internal+0x42/0x130 [74412.600957] __netif_rx+0x20/0xd0 [74412.604743] ntb_netdev_rx_handler+0x66/0x150 [ntb_netdev] [74412.610985] ntb_complete_rxc+0xed/0x140 [ntb_transport] [74412.617010] ntb_rx_copy_callback+0x53/0x80 [ntb_transport] [74412.623332] idxd_dma_complete_txd+0xe3/0x160 [idxd] [74412.628963] idxd_wq_thread+0x1a6/0x2b0 [idxd] [74412.634046] irq_thread_fn+0x21/0x60 [74412.638134] ? irq_thread+0xa8/0x290 [74412.642218] irq_thread+0x1a0/0x290 [74412.646212] ? __pfx_irq_thread_fn+0x10/0x10 [74412.651071] ? __pfx_irq_thread_dtor+0x10/0x10 [74412.656117] ? __pfx_irq_thread+0x10/0x10 [74412.660686] kthread+0x100/0x130 [74412.664384] ? __pfx_kthread+0x10/0x10 [74412.668639] ret_from_fork+0x31/0x50 [74412.672716] ? __pfx_kthread+0x10/0x10 [74412.676978] ret_from_fork_asm+0x1a/0x30 [74412.681457] </TASK>
The cause is due to the idxd driver interrupt completion handler uses threaded interrupt and the threaded handler is not hard or soft interrupt context. However __netif_rx() can only be called from interrupt context. Change the call to netif_rx() in order to allow completion via normal context for dmaengine drivers that utilize threaded irq handling.
While the following commit changed from netif_rx() to __netif_rx(), baebdf48c360 ("net: dev: Makes sure netif_rx() can be invoked in any context."), the change should've been a noop instead. However, the code precedes this fix should've been using netif_rx_ni() or netif_rx_any_context().
CVSS Details
- CVSS 3.1 Base Score: 7.5
- CVSS 3.1 Vector: (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Alma_linux | — | Upgrade kernel-64k-debug-devel-matchedUpgrade kernel-debug-modulesUpgrade kernel-rt-debugUpgrade kernel-rtUpgrade kernel-tools-libsUpgrade kernel-64kUpgrade kernel-64k-modulesUpgrade kernel-debug-modules-coreUpgrade kernel-rt-coreUpgrade kernel-64k-debug-coreUpgrade kernel-cross-headersUpgrade kernel-rt-debug-coreUpgrade kernel-zfcpdump-modulesUpgrade kernel-rt-develUpgrade bpftoolUpgrade rvUpgrade kernel-toolsUpgrade kernelUpgrade kernel-zfcpdump-devel-matchedUpgrade kernel-64k-debugUpgrade kernel-64k-debug-modulesUpgrade kernel-64k-debug-develUpgrade kernel-zfcpdump-coreUpgrade kernel-debug-uki-virtUpgrade kernel-debug-modules-extraUpgrade kernel-develUpgrade kernel-64k-coreUpgrade kernel-rt-modules-extraUpgrade kernel-tools-libs-develUpgrade kernel-zfcpdump-modules-extraUpgrade kernel-zfcpdump-develUpgrade kernel-rt-debug-develUpgrade kernel-rt-debug-modules-coreUpgrade python3-perfUpgrade kernel-debug-devel-matchedUpgrade kernel-64k-modules-extraUpgrade kernel-uki-virtUpgrade kernel-rt-modulesUpgrade kernel-rt-debug-modules-extraUpgrade kernel-headersUpgrade libperfUpgrade kernel-debug-coreUpgrade kernel-64k-develUpgrade kernel-modules-extraUpgrade kernel-devel-matchedUpgrade rtlaUpgrade kernel-modulesUpgrade perfUpgrade kernel-zfcpdump-modules-coreUpgrade kernel-zfcpdumpUpgrade kernel-abi-stablelistsUpgrade kernel-debugUpgrade kernel-64k-debug-modules-extraUpgrade kernel-debug-develUpgrade kernel-docUpgrade kernel-rt-debug-modulesUpgrade kernel-64k-modules-coreUpgrade kernel-64k-debug-modules-coreUpgrade kernel-modules-coreUpgrade kernel-rt-modules-coreUpgrade kernel-coreUpgrade kernel-64k-devel-matched | Nov 4, 2024 | Jul 30, 2024 |
| Debian | — | Upgrade linux-6.1Upgrade linux | Aug 7, 2024 | Jul 30, 2024 |
| Oracle_linux | — | Upgrade kernel | Oct 16, 2024 | Jul 30, 2024 |
| Redhat_linux | — | No solution existsUpgrade kernel-rtUpgrade kernel | Dec 5, 2024 | Jul 30, 2024 |
| Suse | — | Upgrade gfs2-kmp-64kbUpgrade kernel-docs-htmlUpgrade kernel-kvmsmall-develUpgrade kernel-rtUpgrade kernel-syms-azureUpgrade kernel-rt-livepatch-develUpgrade kernel-macrosUpgrade ocfs2-kmp-rtUpgrade kernel-default-baseUpgrade dtb-armUpgrade kernel-default-manUpgrade reiserfs-kmp-azureUpgrade kernel-64kb-optionalUpgrade dtb-socionextUpgrade gfs2-kmp-rtUpgrade kernel-obs-qaUpgrade dtb-marvellUpgrade kernel-rt_debug-vdsoUpgrade cluster-md-kmp-defaultUpgrade kernel-azure-livepatch-develUpgrade kernel-azure-develUpgrade kernel-devel-azureUpgrade dtb-amdUpgrade dtb-amlogicUpgrade kernel-kvmsmallUpgrade dtb-mediatekUpgrade kernel-kvmsmall-vdsoUpgrade kselftests-kmp-rtUpgrade dlm-kmp-defaultUpgrade kernel-syms-rtUpgrade kernel-zfcpdumpUpgrade dtb-rockchipUpgrade kernel-azure-extraUpgrade kernel-rt_debugUpgrade kselftests-kmp-defaultUpgrade dtb-apmUpgrade kernel-defaultUpgrade dtb-appleUpgrade reiserfs-kmp-rtUpgrade kernel-symsUpgrade kernel-azure-baseUpgrade kernel-64kb-livepatch-develUpgrade kernel-default-extraUpgrade kernel-debug-livepatch-develUpgrade dtb-nvidiaUpgrade kernel-docsUpgrade kernel-azure-vdsoUpgrade dlm-kmp-azureUpgrade dtb-xilinxUpgrade kernel-rt-vdsoUpgrade kernel-64kb-develUpgrade dlm-kmp-rtUpgrade kernel-azureUpgrade ocfs2-kmp-azureUpgrade kernel-debugUpgrade kernel-obs-buildUpgrade kernel-default-vdsoUpgrade cluster-md-kmp-64kbUpgrade ocfs2-kmp-64kbUpgrade kernel-kvmsmall-livepatch-develUpgrade kernel-default-livepatchUpgrade ocfs2-kmp-defaultUpgrade kernel-source-vanillaUpgrade kernel-source-azureUpgrade kernel-sourceUpgrade kernel-rt-extraUpgrade kernel-default-optionalUpgrade dtb-qcomUpgrade dtb-hisiliconUpgrade dtb-freescaleUpgrade dlm-kmp-64kbUpgrade kernel-64kb-extraUpgrade dtb-broadcomUpgrade kernel-default-develUpgrade reiserfs-kmp-defaultUpgrade kselftests-kmp-64kbUpgrade kernel-rt_debug-develUpgrade gfs2-kmp-azureUpgrade kernel-azure-optionalUpgrade dtb-lgUpgrade dtb-allwinnerUpgrade cluster-md-kmp-azureUpgrade reiserfs-kmp-64kbUpgrade kernel-default-base-rebuildUpgrade kernel-rt_debug-livepatch-develUpgrade kernel-rt-livepatchUpgrade kernel-source-rtUpgrade gfs2-kmp-defaultUpgrade kernel-devel-rtUpgrade kernel-default-livepatch-develUpgrade dtb-amazonUpgrade kernel-debug-vdsoUpgrade kernel-rt-develUpgrade kernel-64kbUpgrade kernel-rt-optionalUpgrade kselftests-kmp-azureUpgrade dtb-alteraUpgrade dtb-sprdUpgrade kernel-develUpgrade dtb-caviumUpgrade cluster-md-kmp-rtUpgrade kernel-debug-develUpgrade dtb-renesasUpgrade dtb-exynos | Dec 5, 2025 | Sep 10, 2024 |
| Ubuntu | — | Upgrade linux-image-6.8.0-1016-gcpUpgrade linux-image-generic-lpaeUpgrade linux-image-6.8.0-1017-gcpUpgrade linux-image-6.8.0-48-genericUpgrade linux-image-6.8.0-1014-raspiUpgrade linux-image-ibmUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-ibm-classicUpgrade linux-image-6.8.0-48-lowlatencyUpgrade linux-image-6.8.0-1017-nvidiaUpgrade linux-image-6.8.0-1017-azure-fdeUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-kvmUpgrade linux-image-6.8.0-1017-azureUpgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-azureUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-6.8.0-1016-azure-fdeUpgrade linux-image-oem-22.04aUpgrade linux-image-6.8.0-1017-nvidia-lowlatencyUpgrade linux-image-raspiUpgrade linux-image-oem-22.04dUpgrade linux-image-awsUpgrade linux-image-nvidia-6.8Upgrade linux-image-nvidia-lowlatencyUpgrade linux-image-6.8.0-1016-azureUpgrade linux-image-6.8.0-1013-gkeUpgrade linux-image-azure-fdeUpgrade linux-image-lowlatencyUpgrade linux-image-gkeop-6.8Upgrade linux-image-generic-hwe-24.04Upgrade linux-image-oem-22.04cUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-6.8.0-1014-ibmUpgrade linux-image-oracleUpgrade linux-image-6.8.0-1002-gkeopUpgrade linux-image-generic-64kUpgrade linux-image-nvidiaUpgrade linux-image-6.8.0-1017-nvidia-64kUpgrade linux-image-oem-22.04bUpgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-lowlatency-64kUpgrade linux-image-6.8.0-1015-oracle-64kUpgrade linux-image-nvidia-64kUpgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-oem-24.04Upgrade linux-image-genericUpgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-oem-24.04aUpgrade linux-image-6.8.0-48-generic-64kUpgrade linux-image-6.8.0-1016-oemUpgrade linux-image-gcpUpgrade linux-image-6.8.0-1018-awsUpgrade linux-image-oem-22.04Upgrade linux-image-lowlatency-hwe-24.04Upgrade linux-image-gkeopUpgrade linux-image-oracle-64kUpgrade linux-image-6.8.0-1017-nvidia-lowlatency-64kUpgrade linux-image-6.8.0-1015-oracleUpgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-generic-hwe-22.04Upgrade linux-image-virtual-hwe-24.04Upgrade linux-image-gkeUpgrade linux-image-lowlatency-64k-hwe-24.04Upgrade linux-image-virtual-hwe-22.04Upgrade linux-image-virtualUpgrade linux-image-6.8.0-48-lowlatency-64k | Nov 4, 2024 | Jul 30, 2024 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Oct 9, 2025 | Jul 30, 2024 |
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