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

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2023-53029— octeontx2-pf: Fix the use of GFP_KERNEL in atomic context on rt

Quick assessment

Affected
Linux Linux
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于octeontx2-pf在原子上下文中错误使用GFP_KERNEL。

AI Predicted 5.5 Difficulty: Hard EPSS 0.15% · P4

Possible ATT&CK Techniques 1 AI

T1190 · Exploit Public-Facing Application

Affected Version Matrix 7

VendorProduct Version RangeStatus
Linux Linux 6ea5273c71dd2d07c0a2459594eb34bc087939f7< 29e9c67bf3271067735c188e95cf3631ecd64d58 affected
667ce030bdfb62a86266444b2c3fd6ab98b9df9b< 659518e013d6bd562bb0f1d2d9f99d0ac54720e2 affected
4af1b64f80fbe1275fb02c5f1c0cef099a4a231f< 55ba18dc62deff5910c0fa64486dea1ff20832ff affected
b754dc7c933dd9464223f64b10d33d68ab086cc6 affected
6.0.19< 6.1 affected
5.15.87< 5.15.91 affected
6.1.5< 6.1.8 affected
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2023-53029

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
octeontx2-pf: Fix the use of GFP_KERNEL in atomic context on rt
Source: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: octeontx2-pf: Fix the use of GFP_KERNEL in atomic context on rt The commit 4af1b64f80fb ("octeontx2-pf: Fix lmtst ID used in aura free") uses the get/put_cpu() to protect the usage of percpu pointer in ->aura_freeptr() callback, but it also unnecessarily disable the preemption for the blockable memory allocation. The commit 87b93b678e95 ("octeontx2-pf: Avoid use of GFP_KERNEL in atomic context") tried to fix these sleep inside atomic warnings. But it only fix the one for the non-rt kernel. For the rt kernel, we still get the similar warnings like below. BUG: sleeping function called from invalid context at kernel/locking/spinlock_rt.c:46 in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 1, name: swapper/0 preempt_count: 1, expected: 0 RCU nest depth: 0, expected: 0 3 locks held by swapper/0/1: #0: ffff800009fc5fe8 (rtnl_mutex){+.+.}-{3:3}, at: rtnl_lock+0x24/0x30 #1: ffff000100c276c0 (&mbox->lock){+.+.}-{3:3}, at: otx2_init_hw_resources+0x8c/0x3a4 #2: ffffffbfef6537e0 (&cpu_rcache->lock){+.+.}-{2:2}, at: alloc_iova_fast+0x1ac/0x2ac Preemption disabled at: [<ffff800008b1908c>] otx2_rq_aura_pool_init+0x14c/0x284 CPU: 20 PID: 1 Comm: swapper/0 Tainted: G W 6.2.0-rc3-rt1-yocto-preempt-rt #1 Hardware name: Marvell OcteonTX CN96XX board (DT) Call trace: dump_backtrace.part.0+0xe8/0xf4 show_stack+0x20/0x30 dump_stack_lvl+0x9c/0xd8 dump_stack+0x18/0x34 __might_resched+0x188/0x224 rt_spin_lock+0x64/0x110 alloc_iova_fast+0x1ac/0x2ac iommu_dma_alloc_iova+0xd4/0x110 __iommu_dma_map+0x80/0x144 iommu_dma_map_page+0xe8/0x260 dma_map_page_attrs+0xb4/0xc0 __otx2_alloc_rbuf+0x90/0x150 otx2_rq_aura_pool_init+0x1c8/0x284 otx2_init_hw_resources+0xe4/0x3a4 otx2_open+0xf0/0x610 __dev_open+0x104/0x224 __dev_change_flags+0x1e4/0x274 dev_change_flags+0x2c/0x7c ic_open_devs+0x124/0x2f8 ip_auto_config+0x180/0x42c do_one_initcall+0x90/0x4dc do_basic_setup+0x10c/0x14c kernel_init_freeable+0x10c/0x13c kernel_init+0x2c/0x140 ret_from_fork+0x10/0x20 Of course, we can shuffle the get/put_cpu() to only wrap the invocation of ->aura_freeptr() as what commit 87b93b678e95 does. But there are only two ->aura_freeptr() callbacks, otx2_aura_freeptr() and cn10k_aura_freeptr(). There is no usage of perpcu variable in the otx2_aura_freeptr() at all, so the get/put_cpu() seems redundant to it. We can move the get/put_cpu() into the corresponding callback which really has the percpu variable usage and avoid the sprinkling of get/put_cpu() in several places.
Source: CVE Program / CVE List V5
CVSS Information
N/A
Source: CVE Program / CVE List V5
Vulnerability Type
N/A
Source: CVE Program / CVE List V5
Vulnerability Title
Linux kernel 安全漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于octeontx2-pf在原子上下文中错误使用GFP_KERNEL。
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

Vendor Product Affected Versions CPE Subscribe
Linux Linux 6ea5273c71dd2d07c0a2459594eb34bc087939f7 ~ 29e9c67bf3271067735c188e95cf3631ecd64d58 -
Linux Linux 5.15.87 ~ 5.15.91 -

II. Public POCs for CVE-2023-53029

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2023-53029

请登录查看更多情报信息。

Same Patch Batch · Linux · 2025-03-27 · 124 CVEs total

CVE-2023-53006 9.8 CRITICAL cifs: Fix oops due to uncleared server->smbd_conn in reconnect
CVE-2025-21876 8.8 HIGH iommu/vt-d: Fix suspicious RCU usage
CVE-2025-21890 8.2 HIGH idpf: fix checksums set in idpf_rx_rsc()
CVE-2023-52983 7.8 HIGH block, bfq: fix uaf for bfqq in bic_set_bfqq()
CVE-2023-52930 7.8 HIGH drm/i915: Fix potential bit_17 double-free
CVE-2023-52931 7.8 HIGH drm/i915: Avoid potential vm use-after-free
CVE-2023-52934 7.8 HIGH mm/MADV_COLLAPSE: catch !none !huge !bad pmd lookups
CVE-2023-52935 7.8 HIGH mm/khugepaged: fix ->anon_vma race
CVE-2025-21867 7.8 HIGH bpf, test_run: Fix use-after-free issue in eth_skb_pkt_type()
CVE-2022-49760 7.8 HIGH mm/hugetlb: fix PTE marker handling in hugetlb_change_protection()
CVE-2023-52973 7.8 HIGH vc_screen: move load of struct vc_data pointer in vcs_read() to avoid UAF
CVE-2023-52974 7.8 HIGH scsi: iscsi_tcp: Fix UAF during login when accessing the shost ipaddress
CVE-2023-52975 7.8 HIGH scsi: iscsi_tcp: Fix UAF during logout when accessing the shost ipaddress
CVE-2023-53009 7.8 HIGH drm/amdkfd: Add sync after creating vram bo
CVE-2023-53033 7.8 HIGH netfilter: nft_payload: incorrect arithmetics when fetching VLAN header bits
CVE-2023-53028 7.8 HIGH Revert "wifi: mac80211: fix memory leak in ieee80211_if_add()"
CVE-2023-53026 7.8 HIGH RDMA/core: Fix ib block iterator counter overflow
CVE-2023-53023 7.8 HIGH net: nfc: Fix use-after-free in local_cleanup()
CVE-2023-53021 7.8 HIGH net/sched: sch_taprio: fix possible use-after-free
CVE-2023-52988 7.8 HIGH ALSA: hda/via: Avoid potential array out-of-bound in add_secret_dac_path()

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

IV. Related Vulnerabilities

V. Comments for CVE-2023-53029

No comments yet


Leave a comment