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-rtUpgrade kernel-debug-modules-coreUpgrade rvUpgrade kernelUpgrade kernel-zfcpdump-coreUpgrade kernel-zfcpdump-devel-matchedUpgrade kernel-rt-modules-extraUpgrade kernel-rt-develUpgrade kernel-debug-modules-extraUpgrade bpftoolUpgrade kernel-rt-debugUpgrade kernel-debug-modulesUpgrade kernel-64k-debugUpgrade kernel-zfcpdump-modulesUpgrade kernel-rt-coreUpgrade kernel-tools-libsUpgrade kernel-64k-debug-devel-matchedUpgrade kernel-toolsUpgrade kernel-64k-debug-modulesUpgrade kernel-cross-headersUpgrade kernel-64k-coreUpgrade kernel-64k-debug-coreUpgrade kernel-64k-debug-develUpgrade kernel-rt-debug-coreUpgrade kernel-64kUpgrade kernel-develUpgrade kernel-debug-uki-virtUpgrade kernel-64k-modulesUpgrade kernel-tools-libs-develUpgrade kernel-64k-develUpgrade kernel-modulesUpgrade kernel-64k-debug-modules-extraUpgrade kernel-64k-modules-coreUpgrade kernel-rt-modulesUpgrade kernel-docUpgrade kernel-debug-coreUpgrade kernel-zfcpdump-develUpgrade kernel-zfcpdumpUpgrade kernel-debug-develUpgrade kernel-devel-matchedUpgrade python3-perfUpgrade kernel-debugUpgrade kernel-rt-debug-modulesUpgrade kernel-abi-stablelistsUpgrade kernel-rt-debug-modules-extraUpgrade kernel-headersUpgrade libperfUpgrade kernel-64k-modules-extraUpgrade kernel-uki-virtUpgrade kernel-64k-debug-modules-coreUpgrade kernel-debug-devel-matchedUpgrade kernel-64k-devel-matchedUpgrade kernel-rt-modules-coreUpgrade kernel-rt-debug-develUpgrade kernel-coreUpgrade kernel-modules-coreUpgrade kernel-zfcpdump-modules-extraUpgrade kernel-rt-debug-modules-coreUpgrade kernel-modules-extraUpgrade rtlaUpgrade kernel-zfcpdump-modules-coreUpgrade perf | 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 | — | Upgrade kernelUpgrade kernel-rtNo solution exists | Dec 5, 2024 | Jul 30, 2024 |
| Suse | — | Upgrade kernel-azure-vdsoUpgrade kernel-docsUpgrade gfs2-kmp-rtUpgrade cluster-md-kmp-defaultUpgrade kernel-azure-develUpgrade ocfs2-kmp-rtUpgrade kernel-syms-rtUpgrade kernel-kvmsmallUpgrade kernel-syms-azureUpgrade kernel-rt-livepatch-develUpgrade dtb-armUpgrade dtb-nvidiaUpgrade kernel-64kb-optionalUpgrade kernel-default-manUpgrade kernel-rtUpgrade kernel-macrosUpgrade dlm-kmp-defaultUpgrade kernel-rt_debugUpgrade dtb-socionextUpgrade gfs2-kmp-64kbUpgrade reiserfs-kmp-azureUpgrade kernel-docs-htmlUpgrade kernel-default-baseUpgrade kernel-azure-extraUpgrade kernel-kvmsmall-develUpgrade kernel-zfcpdumpUpgrade kernel-defaultUpgrade dlm-kmp-azureUpgrade dtb-appleUpgrade dtb-apmUpgrade reiserfs-kmp-rtUpgrade kernel-64kb-livepatch-develUpgrade kernel-azure-baseUpgrade kernel-symsUpgrade dtb-amlogicUpgrade dtb-marvellUpgrade kernel-rt_debug-vdsoUpgrade kernel-obs-qaUpgrade kernel-debug-livepatch-develUpgrade kselftests-kmp-defaultUpgrade dtb-rockchipUpgrade kselftests-kmp-rtUpgrade kernel-kvmsmall-vdsoUpgrade dtb-amdUpgrade dtb-mediatekUpgrade kernel-default-extraUpgrade kernel-azure-livepatch-develUpgrade kernel-devel-azureUpgrade kernel-debugUpgrade gfs2-kmp-defaultUpgrade dtb-amazonUpgrade kselftests-kmp-64kbUpgrade kernel-debug-vdsoUpgrade kernel-default-livepatch-develUpgrade dtb-renesasUpgrade dtb-caviumUpgrade dtb-alteraUpgrade dlm-kmp-rtUpgrade kselftests-kmp-azureUpgrade kernel-develUpgrade kernel-64kbUpgrade kernel-rt-livepatchUpgrade kernel-kvmsmall-livepatch-develUpgrade ocfs2-kmp-64kbUpgrade kernel-64kb-extraUpgrade dtb-broadcomUpgrade reiserfs-kmp-defaultUpgrade cluster-md-kmp-64kbUpgrade kernel-rt_debug-livepatch-develUpgrade kernel-obs-buildUpgrade kernel-default-vdsoUpgrade kernel-default-develUpgrade ocfs2-kmp-azureUpgrade kernel-rt_debug-develUpgrade dtb-qcomUpgrade kernel-rt-vdsoUpgrade gfs2-kmp-azureUpgrade dtb-exynosUpgrade dtb-xilinxUpgrade kernel-azure-optionalUpgrade dtb-freescaleUpgrade ocfs2-kmp-defaultUpgrade dlm-kmp-64kbUpgrade kernel-azureUpgrade kernel-default-optionalUpgrade cluster-md-kmp-rtUpgrade dtb-sprdUpgrade kernel-64kb-develUpgrade cluster-md-kmp-azureUpgrade kernel-default-base-rebuildUpgrade kernel-default-livepatchUpgrade kernel-debug-develUpgrade kernel-rt-extraUpgrade dtb-hisiliconUpgrade reiserfs-kmp-64kbUpgrade dtb-lgUpgrade kernel-rt-develUpgrade dtb-allwinnerUpgrade kernel-source-azureUpgrade kernel-source-vanillaUpgrade kernel-rt-optionalUpgrade kernel-sourceUpgrade kernel-source-rtUpgrade kernel-devel-rt | Dec 5, 2025 | Sep 10, 2024 |
| Ubuntu | — | Upgrade linux-image-gkeopUpgrade linux-image-lowlatency-hwe-24.04Upgrade linux-image-6.8.0-1015-oracleUpgrade linux-image-virtualUpgrade linux-image-virtual-hwe-22.04Upgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-generic-hwe-24.04Upgrade linux-image-6.8.0-1015-oracle-64kUpgrade linux-image-gkeUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-oem-22.04bUpgrade linux-image-oem-22.04cUpgrade linux-image-oracle-64kUpgrade linux-image-6.8.0-48-lowlatency-64kUpgrade linux-image-lowlatency-64kUpgrade linux-image-6.8.0-1016-oemUpgrade linux-image-6.8.0-1018-awsUpgrade linux-image-gcpUpgrade linux-image-oem-22.04Upgrade linux-image-gkeop-6.8Upgrade linux-image-6.8.0-48-generic-64kUpgrade linux-image-oem-24.04aUpgrade linux-image-nvidiaUpgrade linux-image-oracleUpgrade linux-image-6.8.0-1017-nvidia-lowlatency-64kUpgrade linux-image-oem-24.04Upgrade linux-image-generic-hwe-22.04Upgrade linux-image-nvidia-64kUpgrade linux-image-6.8.0-1002-gkeopUpgrade linux-image-6.8.0-1014-ibmUpgrade linux-image-lowlatency-64k-hwe-24.04Upgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-6.8.0-1017-nvidia-64kUpgrade linux-image-generic-64kUpgrade linux-image-genericUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-6.8.0-1016-gcpUpgrade linux-image-ibm-classicUpgrade linux-image-azureUpgrade linux-image-6.8.0-1014-raspiUpgrade linux-image-6.8.0-48-genericUpgrade linux-image-6.8.0-1013-gkeUpgrade linux-image-6.8.0-1017-nvidia-lowlatencyUpgrade linux-image-oem-22.04aUpgrade linux-image-lowlatencyUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-6.8.0-1017-gcpUpgrade linux-image-6.8.0-1017-nvidiaUpgrade linux-image-6.8.0-1016-azure-fdeUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-ibmUpgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-6.8.0-1016-azureUpgrade linux-image-awsUpgrade linux-image-raspiUpgrade linux-image-6.8.0-1017-azureUpgrade linux-image-kvmUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-6.8.0-1017-azure-fdeUpgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-oem-22.04dUpgrade linux-image-6.8.0-48-lowlatencyUpgrade linux-image-azure-fdeUpgrade linux-image-nvidia-6.8Upgrade linux-image-generic-lpae | 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