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