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

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2025-38354— drm/msm/gpu: Fix crash when throttling GPU immediately during boot

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存在安全漏洞,该漏洞源于msm_devfreq_get_dev_status函数在启动时立即节流GPU导致崩溃。

AI Predicted 4.3 Difficulty: Theoretical EPSS 0.18% · P7

Affected Version Matrix 16

VendorProduct Version RangeStatus
Linux Linux 6694482a70e9536efbf2ac233cbf0c302d6e2dae< ae2015b0dbc0eea7aaf022194371f451f784d994 affected
6694482a70e9536efbf2ac233cbf0c302d6e2dae< 7946a10f8da75abc494e4bb80243e153e93e459a affected
6694482a70e9536efbf2ac233cbf0c302d6e2dae< 1847ea44e3bdf7da8ff4158bc01b43a2e46394bd affected
6694482a70e9536efbf2ac233cbf0c302d6e2dae< a6f673cc9488fd722c601fe020601dba14db21b2 affected
6694482a70e9536efbf2ac233cbf0c302d6e2dae< b71717735be48d7743a34897e9e44a0b53e30c0e affected
1f6c087dd6a915f1c3471f0f0f696847fc8c592f affected
9c8b3f05fb18fba12f3fca80a378c9b8f3d04cd6 affected
5.18.18< 5.19 affected
… +8 more rows
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2025-38354

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
drm/msm/gpu: Fix crash when throttling GPU immediately during boot
Source: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: drm/msm/gpu: Fix crash when throttling GPU immediately during boot There is a small chance that the GPU is already hot during boot. In that case, the call to of_devfreq_cooling_register() will immediately try to apply devfreq cooling, as seen in the following crash: Unable to handle kernel paging request at virtual address 0000000000014110 pc : a6xx_gpu_busy+0x1c/0x58 [msm] lr : msm_devfreq_get_dev_status+0xbc/0x140 [msm] Call trace: a6xx_gpu_busy+0x1c/0x58 [msm] (P) devfreq_simple_ondemand_func+0x3c/0x150 devfreq_update_target+0x44/0xd8 qos_max_notifier_call+0x30/0x84 blocking_notifier_call_chain+0x6c/0xa0 pm_qos_update_target+0xd0/0x110 freq_qos_apply+0x3c/0x74 apply_constraint+0x88/0x148 __dev_pm_qos_update_request+0x7c/0xcc dev_pm_qos_update_request+0x38/0x5c devfreq_cooling_set_cur_state+0x98/0xf0 __thermal_cdev_update+0x64/0xb4 thermal_cdev_update+0x4c/0x58 step_wise_manage+0x1f0/0x318 __thermal_zone_device_update+0x278/0x424 __thermal_cooling_device_register+0x2bc/0x308 thermal_of_cooling_device_register+0x10/0x1c of_devfreq_cooling_register_power+0x240/0x2bc of_devfreq_cooling_register+0x14/0x20 msm_devfreq_init+0xc4/0x1a0 [msm] msm_gpu_init+0x304/0x574 [msm] adreno_gpu_init+0x1c4/0x2e0 [msm] a6xx_gpu_init+0x5c8/0x9c8 [msm] adreno_bind+0x2a8/0x33c [msm] ... At this point we haven't initialized the GMU at all yet, so we cannot read the GMU registers inside a6xx_gpu_busy(). A similar issue was fixed before in commit 6694482a70e9 ("drm/msm: Avoid unclocked GMU register access in 6xx gpu_busy"): msm_devfreq_init() does call devfreq_suspend_device(), but unlike msm_devfreq_suspend(), it doesn't set the df->suspended flag accordingly. This means the df->suspended flag does not match the actual devfreq state after initialization and msm_devfreq_get_dev_status() will end up accessing GMU registers, causing the crash. Fix this by setting df->suspended correctly during initialization. Patchwork: https://patchwork.freedesktop.org/patch/650772/
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存在安全漏洞,该漏洞源于msm_devfreq_get_dev_status函数在启动时立即节流GPU导致崩溃。
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 6694482a70e9536efbf2ac233cbf0c302d6e2dae ~ ae2015b0dbc0eea7aaf022194371f451f784d994 -
Linux Linux 6.0 -

II. Public POCs for CVE-2025-38354

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

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2025-38354

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

Same Patch Batch · Linux · 2025-07-25 · 114 CVEs total

CVE-2025-38429 10.0 CRITICAL bus: mhi: ep: Update read pointer only after buffer is written
CVE-2025-38439 9.8 CRITICAL bnxt_en: Set DMA unmap len correctly for XDP_REDIRECT
CVE-2025-38430 9.8 CRITICAL nfsd: nfsd4_spo_must_allow() must check this is a v4 compound request
CVE-2025-38411 9.8 CRITICAL netfs: Fix double put of request
CVE-2025-38365 9.1 CRITICAL btrfs: fix a race between renames and directory logging
CVE-2025-38377 8.8 HIGH rose: fix dangling neighbour pointers in rose_rt_device_down()
CVE-2025-38437 8.8 HIGH ksmbd: fix potential use-after-free in oplock/lease break ack
CVE-2025-38367 8.8 HIGH LoongArch: KVM: Avoid overflow with array index
CVE-2025-38375 8.4 HIGH virtio-net: ensure the received length does not exceed allocated size
CVE-2025-38395 8.4 HIGH regulator: gpio: Fix the out-of-bounds access to drvdata::gpiods
CVE-2025-38453 7.8 HIGH io_uring/msg_ring: ensure io_kiocb freeing is deferred for RCU
CVE-2025-38396 7.8 HIGH fs: export anon_inode_make_secure_inode() and fix secretmem LSM bypass
CVE-2025-38408 7.8 HIGH genirq/irq_sim: Initialize work context pointers properly
CVE-2025-38440 7.8 HIGH net/mlx5e: Fix race between DIM disable and net_dim()
CVE-2025-38447 7.8 HIGH mm/rmap: fix potential out-of-bounds page table access during batched unmap
CVE-2025-38412 7.8 HIGH platform/x86: dell-wmi-sysman: Fix WMI data block retrieval in sysfs callbacks
CVE-2025-38398 7.8 HIGH spi: spi-qpic-snand: reallocate BAM transactions
CVE-2025-38386 7.8 HIGH ACPICA: Refuse to evaluate a method if arguments are missing
CVE-2025-38382 7.8 HIGH btrfs: fix iteration of extrefs during log replay
CVE-2025-38424 7.8 HIGH perf: Fix sample vs do_exit()

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

IV. Related Vulnerabilities

V. Comments for CVE-2025-38354

No comments yet


Leave a comment