Vulnerability · Published Jul 30, 2024 · Assigned by Linux

CVE-2024-42110net: ntb_netdev: Move ntb_netdev_rx_handler() to call netif_rx() from __netif_rx()

High 7.5

In plain English

A high-severity security flaw in Linux from Linux. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.6% (higher than 51% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.

Severity (CVSS 3.1)7.5High
Exploit odds (30 days)0.6%top 48.8% of all CVEs
Exploited in the wildNo reportsCISA SSVC: none
Attack toolingNoneno public tooling known

Official description

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().

Affected packages & fixed versions

EcosystemPackageFixed inAdvisory
AlmaLinux:9bpftool7.3.0-427.33.1.el9_4ALSA-2024:5928
AlmaLinux:9kernel5.14.0-427.33.1.el9_4ALSA-2024:5928
AlmaLinux:9kernel-64k5.14.0-427.33.1.el9_4ALSA-2024:5928
AlmaLinux:9kernel-64k-core5.14.0-427.33.1.el9_4ALSA-2024:5928
AlmaLinux:9kernel-64k-debug5.14.0-427.33.1.el9_4ALSA-2024:5928
AlmaLinux:9kernel-64k-debug-core5.14.0-427.33.1.el9_4ALSA-2024:5928
AlmaLinux:9kernel-64k-debug-devel5.14.0-427.33.1.el9_4ALSA-2024:5928
AlmaLinux:9kernel-64k-debug-devel-matched5.14.0-427.33.1.el9_4ALSA-2024:5928
AlmaLinux:9kernel-64k-debug-modules5.14.0-427.33.1.el9_4ALSA-2024:5928
AlmaLinux:9kernel-64k-debug-modules-core5.14.0-427.33.1.el9_4ALSA-2024:5928
AlmaLinux:9kernel-64k-debug-modules-extra5.14.0-427.33.1.el9_4ALSA-2024:5928
AlmaLinux:9kernel-64k-devel5.14.0-427.33.1.el9_4ALSA-2024:5928
AlmaLinux:9kernel-64k-devel-matched5.14.0-427.33.1.el9_4ALSA-2024:5928
AlmaLinux:9kernel-64k-modules5.14.0-427.33.1.el9_4ALSA-2024:5928
AlmaLinux:9kernel-64k-modules-core5.14.0-427.33.1.el9_4ALSA-2024:5928
AlmaLinux:9kernel-64k-modules-extra5.14.0-427.33.1.el9_4ALSA-2024:5928
AlmaLinux:9kernel-abi-stablelists5.14.0-427.33.1.el9_4ALSA-2024:5928
AlmaLinux:9kernel-core5.14.0-427.33.1.el9_4ALSA-2024:5928
AlmaLinux:9kernel-cross-headers5.14.0-427.33.1.el9_4ALSA-2024:5928
AlmaLinux:9kernel-debug5.14.0-427.33.1.el9_4ALSA-2024:5928
AlmaLinux:9kernel-debug-core5.14.0-427.33.1.el9_4ALSA-2024:5928
AlmaLinux:9kernel-debug-devel5.14.0-427.33.1.el9_4ALSA-2024:5928
AlmaLinux:9kernel-debug-devel-matched5.14.0-427.33.1.el9_4ALSA-2024:5928
AlmaLinux:9kernel-debug-modules5.14.0-427.33.1.el9_4ALSA-2024:5928
AlmaLinux:9kernel-debug-modules-core5.14.0-427.33.1.el9_4ALSA-2024:5928
AlmaLinux:9kernel-debug-modules-extra5.14.0-427.33.1.el9_4ALSA-2024:5928
AlmaLinux:9kernel-debug-uki-virt5.14.0-427.33.1.el9_4ALSA-2024:5928
AlmaLinux:9kernel-devel5.14.0-427.33.1.el9_4ALSA-2024:5928
AlmaLinux:9kernel-devel-matched5.14.0-427.33.1.el9_4ALSA-2024:5928
AlmaLinux:9kernel-doc5.14.0-427.33.1.el9_4ALSA-2024:5928
AlmaLinux:9kernel-headers5.14.0-427.33.1.el9_4ALSA-2024:5928
AlmaLinux:9kernel-modules5.14.0-427.33.1.el9_4ALSA-2024:5928
AlmaLinux:9kernel-modules-core5.14.0-427.33.1.el9_4ALSA-2024:5928
AlmaLinux:9kernel-modules-extra5.14.0-427.33.1.el9_4ALSA-2024:5928
AlmaLinux:9kernel-rt5.14.0-427.33.1.el9_4ALSA-2024:5928
AlmaLinux:9kernel-rt-core5.14.0-427.33.1.el9_4ALSA-2024:5928
AlmaLinux:9kernel-rt-debug5.14.0-427.33.1.el9_4ALSA-2024:5928
AlmaLinux:9kernel-rt-debug-core5.14.0-427.33.1.el9_4ALSA-2024:5928
AlmaLinux:9kernel-rt-debug-devel5.14.0-427.33.1.el9_4ALSA-2024:5928
AlmaLinux:9kernel-rt-debug-modules5.14.0-427.33.1.el9_4ALSA-2024:5928
AlmaLinux:9kernel-rt-debug-modules-core5.14.0-427.33.1.el9_4ALSA-2024:5928
AlmaLinux:9kernel-rt-debug-modules-extra5.14.0-427.33.1.el9_4ALSA-2024:5928
AlmaLinux:9kernel-rt-devel5.14.0-427.33.1.el9_4ALSA-2024:5928
AlmaLinux:9kernel-rt-modules5.14.0-427.33.1.el9_4ALSA-2024:5928
AlmaLinux:9kernel-rt-modules-core5.14.0-427.33.1.el9_4ALSA-2024:5928
AlmaLinux:9kernel-rt-modules-extra5.14.0-427.33.1.el9_4ALSA-2024:5928
AlmaLinux:9kernel-tools5.14.0-427.33.1.el9_4ALSA-2024:5928
AlmaLinux:9kernel-tools-libs5.14.0-427.33.1.el9_4ALSA-2024:5928
AlmaLinux:9kernel-tools-libs-devel5.14.0-427.33.1.el9_4ALSA-2024:5928
AlmaLinux:9kernel-uki-virt5.14.0-427.33.1.el9_4ALSA-2024:5928
AlmaLinux:9kernel-zfcpdump5.14.0-427.33.1.el9_4ALSA-2024:5928
AlmaLinux:9kernel-zfcpdump-core5.14.0-427.33.1.el9_4ALSA-2024:5928
AlmaLinux:9kernel-zfcpdump-devel5.14.0-427.33.1.el9_4ALSA-2024:5928
AlmaLinux:9kernel-zfcpdump-devel-matched5.14.0-427.33.1.el9_4ALSA-2024:5928
AlmaLinux:9kernel-zfcpdump-modules5.14.0-427.33.1.el9_4ALSA-2024:5928
AlmaLinux:9kernel-zfcpdump-modules-core5.14.0-427.33.1.el9_4ALSA-2024:5928
AlmaLinux:9kernel-zfcpdump-modules-extra5.14.0-427.33.1.el9_4ALSA-2024:5928
AlmaLinux:9libperf5.14.0-427.33.1.el9_4ALSA-2024:5928
AlmaLinux:9perf5.14.0-427.33.1.el9_4ALSA-2024:5928
AlmaLinux:9python3-perf5.14.0-427.33.1.el9_4ALSA-2024:5928
AlmaLinux:9rtla5.14.0-427.33.1.el9_4ALSA-2024:5928
AlmaLinux:9rv5.14.0-427.33.1.el9_4ALSA-2024:5928
Debian:12linux6.1.98-1DEBIAN-CVE-2024-42110
Debian:13linux6.9.9-1DEBIAN-CVE-2024-42110
Debian:14linux6.9.9-1DEBIAN-CVE-2024-42110
Ubuntu:22.04:LTSlinuxno fix listedUBUNTU-CVE-2024-42110
Ubuntu:24.04:LTSlinux6.8.0-48.48UBUNTU-CVE-2024-42110
Ubuntu:22.04:LTSlinux-allwinner-5.19no fix listedUBUNTU-CVE-2024-42110
Ubuntu:22.04:LTSlinux-awsno fix listedUBUNTU-CVE-2024-42110
Ubuntu:24.04:LTSlinux-aws6.8.0-1018.20UBUNTU-CVE-2024-42110
Ubuntu:22.04:LTSlinux-aws-5.19no fix listedUBUNTU-CVE-2024-42110
Ubuntu:22.04:LTSlinux-aws-6.2no fix listedUBUNTU-CVE-2024-42110
Ubuntu:22.04:LTSlinux-aws-6.5no fix listedUBUNTU-CVE-2024-42110
Ubuntu:22.04:LTSlinux-aws-6.86.8.0-1018.19~22.04.1UBUNTU-CVE-2024-42110
Ubuntu:22.04:LTSlinux-azureno fix listedUBUNTU-CVE-2024-42110
Ubuntu:24.04:LTSlinux-azure6.8.0-1017.20UBUNTU-CVE-2024-42110
Ubuntu:22.04:LTSlinux-azure-5.19no fix listedUBUNTU-CVE-2024-42110
Ubuntu:22.04:LTSlinux-azure-6.2no fix listedUBUNTU-CVE-2024-42110
Ubuntu:22.04:LTSlinux-azure-6.5no fix listedUBUNTU-CVE-2024-42110
Ubuntu:22.04:LTSlinux-azure-6.86.8.0-1017.20~22.04.1UBUNTU-CVE-2024-42110
Ubuntu:22.04:LTSlinux-azure-fdeno fix listedUBUNTU-CVE-2024-42110
Ubuntu:22.04:LTSlinux-azure-fde-5.19no fix listedUBUNTU-CVE-2024-42110
Ubuntu:22.04:LTSlinux-azure-fde-6.2no fix listedUBUNTU-CVE-2024-42110
Ubuntu:22.04:LTSlinux-gcpno fix listedUBUNTU-CVE-2024-42110
Ubuntu:24.04:LTSlinux-gcp6.8.0-1017.19UBUNTU-CVE-2024-42110
Ubuntu:22.04:LTSlinux-gcp-5.19no fix listedUBUNTU-CVE-2024-42110
Ubuntu:22.04:LTSlinux-gcp-6.2no fix listedUBUNTU-CVE-2024-42110
Ubuntu:22.04:LTSlinux-gcp-6.5no fix listedUBUNTU-CVE-2024-42110
Ubuntu:22.04:LTSlinux-gcp-6.86.8.0-1017.19~22.04.1UBUNTU-CVE-2024-42110
Ubuntu:22.04:LTSlinux-gkeno fix listedUBUNTU-CVE-2024-42110
Ubuntu:24.04:LTSlinux-gke6.8.0-1013.17UBUNTU-CVE-2024-42110
Ubuntu:22.04:LTSlinux-gkeopno fix listedUBUNTU-CVE-2024-42110
Ubuntu:24.04:LTSlinux-gkeop6.8.0-1002.4UBUNTU-CVE-2024-42110
Ubuntu:22.04:LTSlinux-hwe-5.19no fix listedUBUNTU-CVE-2024-42110
Ubuntu:22.04:LTSlinux-hwe-6.2no fix listedUBUNTU-CVE-2024-42110
Ubuntu:22.04:LTSlinux-hwe-6.5no fix listedUBUNTU-CVE-2024-42110
Ubuntu:22.04:LTSlinux-hwe-6.86.8.0-48.48~22.04.1UBUNTU-CVE-2024-42110
Ubuntu:22.04:LTSlinux-ibmno fix listedUBUNTU-CVE-2024-42110
Ubuntu:24.04:LTSlinux-ibm6.8.0-1015.15UBUNTU-CVE-2024-42110
Ubuntu:22.04:LTSlinux-ibm-6.86.8.0-1015.15~22.04.1UBUNTU-CVE-2024-42110
Ubuntu:22.04:LTSlinux-intel-iot-realtimeno fix listedUBUNTU-CVE-2024-42110
Ubuntu:22.04:LTSlinux-intel-iotgno fix listedUBUNTU-CVE-2024-42110
Ubuntu:22.04:LTSlinux-kvmno fix listedUBUNTU-CVE-2024-42110
Ubuntu:22.04:LTSlinux-lowlatencyno fix listedUBUNTU-CVE-2024-42110
Ubuntu:24.04:LTSlinux-lowlatency6.8.0-48.48.3UBUNTU-CVE-2024-42110
Ubuntu:22.04:LTSlinux-lowlatency-hwe-5.19no fix listedUBUNTU-CVE-2024-42110
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.2no fix listedUBUNTU-CVE-2024-42110
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.5no fix listedUBUNTU-CVE-2024-42110
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.86.8.0-48.48.3~22.04.1UBUNTU-CVE-2024-42110
Ubuntu:22.04:LTSlinux-nvidiano fix listedUBUNTU-CVE-2024-42110
Ubuntu:24.04:LTSlinux-nvidia6.8.0-1017.19UBUNTU-CVE-2024-42110
Ubuntu:22.04:LTSlinux-nvidia-6.2no fix listedUBUNTU-CVE-2024-42110
Ubuntu:22.04:LTSlinux-nvidia-6.5no fix listedUBUNTU-CVE-2024-42110
Ubuntu:22.04:LTSlinux-nvidia-6.86.8.0-1017.19~22.04.1UBUNTU-CVE-2024-42110
Ubuntu:24.04:LTSlinux-nvidia-lowlatency6.8.0-1017.19.1UBUNTU-CVE-2024-42110
Ubuntu:22.04:LTSlinux-nvidia-tegrano fix listedUBUNTU-CVE-2024-42110
Ubuntu:22.04:LTSlinux-nvidia-tegra-igxno fix listedUBUNTU-CVE-2024-42110
Ubuntu:22.04:LTSlinux-oem-5.17no fix listedUBUNTU-CVE-2024-42110
Ubuntu:22.04:LTSlinux-oem-6.0no fix listedUBUNTU-CVE-2024-42110
Ubuntu:22.04:LTSlinux-oem-6.1no fix listedUBUNTU-CVE-2024-42110
Ubuntu:22.04:LTSlinux-oem-6.5no fix listedUBUNTU-CVE-2024-42110
Ubuntu:24.04:LTSlinux-oem-6.86.8.0-1016.16UBUNTU-CVE-2024-42110
Ubuntu:22.04:LTSlinux-oracleno fix listedUBUNTU-CVE-2024-42110
Ubuntu:24.04:LTSlinux-oracle6.8.0-1015.16UBUNTU-CVE-2024-42110
Ubuntu:22.04:LTSlinux-oracle-6.5no fix listedUBUNTU-CVE-2024-42110
Ubuntu:22.04:LTSlinux-oracle-6.86.8.0-1015.15~22.04.1UBUNTU-CVE-2024-42110
Ubuntu:22.04:LTSlinux-raspino fix listedUBUNTU-CVE-2024-42110
Ubuntu:24.04:LTSlinux-raspi6.8.0-1014.16UBUNTU-CVE-2024-42110
Ubuntu:22.04:LTSlinux-realtimeno fix listedUBUNTU-CVE-2024-42110
Ubuntu:22.04:LTSlinux-riscvno fix listedUBUNTU-CVE-2024-42110
Ubuntu:24.04:LTSlinux-riscv6.8.0-48.48.1UBUNTU-CVE-2024-42110
Ubuntu:22.04:LTSlinux-riscv-5.19no fix listedUBUNTU-CVE-2024-42110
Ubuntu:22.04:LTSlinux-riscv-6.5no fix listedUBUNTU-CVE-2024-42110
Ubuntu:22.04:LTSlinux-riscv-6.86.8.0-48.48.1~22.04.2UBUNTU-CVE-2024-42110
Ubuntu:22.04:LTSlinux-starfive-5.19no fix listedUBUNTU-CVE-2024-42110
Ubuntu:22.04:LTSlinux-starfive-6.2no fix listedUBUNTU-CVE-2024-42110
Ubuntu:22.04:LTSlinux-starfive-6.5no fix listedUBUNTU-CVE-2024-42110
Ubuntu:24.04:LTSlinux-xilinx6.8.0-1009.10UBUNTU-CVE-2024-42110
Ubuntu:22.04:LTSlinux-xilinx-zynqmpno fix listedUBUNTU-CVE-2024-42110

Affected products (as reported)

VendorProductVersions
Linux Linux 548c237c0a9972df5d1afaca38aa733ee577128d – before 4b3b6c7efee69f077b86ef7f088fb96768e46e1f548c237c0a9972df5d1afaca38aa733ee577128d – before e3af5b14e7632bf12058533d69055393e2d126c9548c237c0a9972df5d1afaca38aa733ee577128d – before 858ae09f03677a4ab907a15516893bc2cc79d4c3548c237c0a9972df5d1afaca38aa733ee577128d – before e15a5d821e5192a3769d846079bc9aa380139baf
Linux Linux 3.9

References