Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1110 CNY

100%

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

EPSS 0.01% · P1

Affected Version Matrix 10

VendorProductVersion RangeStatus
LinuxLinux548c237c0a9972df5d1afaca38aa733ee577128d< 4b3b6c7efee69f077b86ef7f088fb96768e46e1faffected
548c237c0a9972df5d1afaca38aa733ee577128d< e3af5b14e7632bf12058533d69055393e2d126c9affected
548c237c0a9972df5d1afaca38aa733ee577128d< 858ae09f03677a4ab907a15516893bc2cc79d4c3affected
548c237c0a9972df5d1afaca38aa733ee577128d< e15a5d821e5192a3769d846079bc9aa380139bafaffected
3.9affected
< 3.9unaffected
6.1.98≤ 6.1.*unaffected
6.6.39≤ 6.6.*unaffected
… +2 more rows
Get alerts for future matching vulnerabilitiesLog in to subscribe

I. Basic Information for CVE-2024-42110

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
net: ntb_netdev: Move ntb_netdev_rx_handler() to call netif_rx() from __netif_rx()
Source: NVD (National Vulnerability Database)
Vulnerability 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().
Source: NVD (National Vulnerability Database)
CVSS Information
N/A
Source: NVD (National Vulnerability Database)
Vulnerability Type
N/A
Source: NVD (National Vulnerability Database)
Vulnerability Title
Linux kernel 安全漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel 存在安全漏洞,该漏洞源于net:ntb_netdev模块中在使用idxd (DSA) dmanegine作为ntb_transport的数据移动器时,idxd驱动程序的中断完成处理程序使用线程化中断,而线程处理程序不是硬中断或软中断,导致异常。
Source: CNNVD (China National Vulnerability Database)
CVSS Information
N/A
Source: CNNVD (China National Vulnerability Database)
Vulnerability Type
N/A
Source: CNNVD (China National Vulnerability Database)

Affected Products

VendorProductAffected VersionsCPESubscribe
LinuxLinux 548c237c0a9972df5d1afaca38aa733ee577128d ~ 4b3b6c7efee69f077b86ef7f088fb96768e46e1f -
LinuxLinux 3.9 -

II. Public POCs for CVE-2024-42110

#POC DescriptionSource LinkShenlong Link
AI-Generated POCPremium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2024-42110

登录查看更多情报信息。

Other References for CVE-2024-42110 (4)

Same Patch Batch · Linux · 2024-07-30 · 70 CVEs total

CVE-2024-42146drm/xe: Add outer runtime_pm protection to xe_live_ktest@xe_dma_buf
CVE-2024-42227drm/amd/display: Fix overlapping copy within dml_core_mode_programming
CVE-2024-42225wifi: mt76: replace skb_put with skb_put_zero
CVE-2024-42153i2c: pnx: Fix potential deadlock warning from del_timer_sync() call in isr
CVE-2024-42152nvmet: fix a possible leak when destroy a ctrl during qp establishment
CVE-2024-42151bpf: mark bpf_dummy_struct_ops.test_1 parameter as nullable
CVE-2024-42150net: txgbe: remove separate irq request for MSI and INTx
CVE-2024-42149fs: don't misleadingly warn during thaw operations
CVE-2024-42148bnx2x: Fix multiple UBSAN array-index-out-of-bounds
CVE-2024-42147crypto: hisilicon/debugfs - Fix debugfs uninit process issue
CVE-2024-42154tcp_metrics: validate source addr length
CVE-2024-42145IB/core: Implement a limit on UMAD receive List
CVE-2024-42144thermal/drivers/mediatek/lvts_thermal: Check NULL ptr on lvts_data
CVE-2024-42142net/mlx5: E-switch, Create ingress ACL when needed
CVE-2024-42141Bluetooth: ISO: Check socket flag instead of hcon
CVE-2024-42140riscv: kexec: Avoid deadlock in kexec crash path
CVE-2024-42138mlxsw: core_linecards: Fix double memory deallocation in case of invalid INI file
CVE-2024-42139ice: Fix improper extts handling
CVE-2024-42137Bluetooth: qca: Fix BT enable failure again for QCA6390 after warm reboot
CVE-2024-42136cdrom: rearrange last_media_change check to avoid unintentional overflow

Showing top 20 of 70 CVEs. View all on vendor page &rarr; →

IV. Related Vulnerabilities

V. Comments for CVE-2024-42110

No comments yet


Leave a comment