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

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2025-38040— serial: mctrl_gpio: split disable_ms into sync and no_sync APIs

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存在安全漏洞,该漏洞源于serial驱动中disable_ms函数在无效上下文中调用睡眠函数。

AI Predicted 4.3 Difficulty: Moderate EPSS 0.19% · P9

Possible ATT&CK Techniques 1 AI

T1564.008 · Email Hiding Rules

Affected Version Matrix 12

VendorProduct Version RangeStatus
Linux Linux ce59e48fdbad2aa6609ceb87e1306ec69e577e05< 68435c1fa3db696db4f480385db9e50e26691d0d affected
ce59e48fdbad2aa6609ceb87e1306ec69e577e05< c504c11b94d6e4ad818ca5578dffa8ff29ad0f20 affected
ce59e48fdbad2aa6609ceb87e1306ec69e577e05< e6a46719a2369eb5186d4f7e6c0478720ca1ec3d affected
ce59e48fdbad2aa6609ceb87e1306ec69e577e05< 7187ec6b0b9ff22ebac2c3bb4178b7dbbdc0a55a affected
ce59e48fdbad2aa6609ceb87e1306ec69e577e05< 1bd2aad57da95f7f2d2bb52f7ad15c0f4993a685 affected
4.4 affected
< 4.4 unaffected
6.1.141≤ 6.1.* unaffected
… +4 more rows
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2025-38040

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
serial: mctrl_gpio: split disable_ms into sync and no_sync APIs
Source: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: serial: mctrl_gpio: split disable_ms into sync and no_sync APIs The following splat has been observed on a SAMA5D27 platform using atmel_serial: BUG: sleeping function called from invalid context at kernel/irq/manage.c:738 in_atomic(): 1, irqs_disabled(): 128, non_block: 0, pid: 27, name: kworker/u5:0 preempt_count: 1, expected: 0 INFO: lockdep is turned off. irq event stamp: 0 hardirqs last enabled at (0): [<00000000>] 0x0 hardirqs last disabled at (0): [<c01588f0>] copy_process+0x1c4c/0x7bec softirqs last enabled at (0): [<c0158944>] copy_process+0x1ca0/0x7bec softirqs last disabled at (0): [<00000000>] 0x0 CPU: 0 UID: 0 PID: 27 Comm: kworker/u5:0 Not tainted 6.13.0-rc7+ #74 Hardware name: Atmel SAMA5 Workqueue: hci0 hci_power_on [bluetooth] Call trace: unwind_backtrace from show_stack+0x18/0x1c show_stack from dump_stack_lvl+0x44/0x70 dump_stack_lvl from __might_resched+0x38c/0x598 __might_resched from disable_irq+0x1c/0x48 disable_irq from mctrl_gpio_disable_ms+0x74/0xc0 mctrl_gpio_disable_ms from atmel_disable_ms.part.0+0x80/0x1f4 atmel_disable_ms.part.0 from atmel_set_termios+0x764/0x11e8 atmel_set_termios from uart_change_line_settings+0x15c/0x994 uart_change_line_settings from uart_set_termios+0x2b0/0x668 uart_set_termios from tty_set_termios+0x600/0x8ec tty_set_termios from ttyport_set_flow_control+0x188/0x1e0 ttyport_set_flow_control from wilc_setup+0xd0/0x524 [hci_wilc] wilc_setup [hci_wilc] from hci_dev_open_sync+0x330/0x203c [bluetooth] hci_dev_open_sync [bluetooth] from hci_dev_do_open+0x40/0xb0 [bluetooth] hci_dev_do_open [bluetooth] from hci_power_on+0x12c/0x664 [bluetooth] hci_power_on [bluetooth] from process_one_work+0x998/0x1a38 process_one_work from worker_thread+0x6e0/0xfb4 worker_thread from kthread+0x3d4/0x484 kthread from ret_from_fork+0x14/0x28 This warning is emitted when trying to toggle, at the highest level, some flow control (with serdev_device_set_flow_control) in a device driver. At the lowest level, the atmel_serial driver is using serial_mctrl_gpio lib to enable/disable the corresponding IRQs accordingly. The warning emitted by CONFIG_DEBUG_ATOMIC_SLEEP is due to disable_irq (called in mctrl_gpio_disable_ms) being possibly called in some atomic context (some tty drivers perform modem lines configuration in regions protected by port lock). Split mctrl_gpio_disable_ms into two differents APIs, a non-blocking one and a blocking one. Replace mctrl_gpio_disable_ms calls with the relevant version depending on whether the call is protected by some port lock.
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存在安全漏洞,该漏洞源于serial驱动中disable_ms函数在无效上下文中调用睡眠函数。
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 ce59e48fdbad2aa6609ceb87e1306ec69e577e05 ~ 68435c1fa3db696db4f480385db9e50e26691d0d -
Linux Linux 4.4 -

II. Public POCs for CVE-2025-38040

# 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-38040

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

Patches & Fixes for CVE-2025-38040 (1)

Same Patch Batch · Linux · 2025-06-18 · 362 CVEs total

CVE-2025-38075 9.8 CRITICAL scsi: target: iscsi: Fix timeout on deleted connection
CVE-2022-50098 8.8 HIGH scsi: qla2xxx: Fix crash due to stale SRB access around I/O timeouts
CVE-2025-38052 8.8 HIGH net/tipc: fix slab-use-after-free Read in tipc_aead_encrypt_done
CVE-2022-49934 8.8 HIGH wifi: mac80211: Fix UAF in ieee80211_scan_rx()
CVE-2022-50164 8.8 HIGH wifi: iwlwifi: mvm: fix double list_add at iwl_mvm_mac_wake_tx_queue
CVE-2025-38074 8.8 HIGH vhost-scsi: protect vq->log_used with vq->mutex
CVE-2025-38016 8.8 HIGH HID: bpf: abort dispatch if device destroyed
CVE-2022-49974 8.8 HIGH HID: nintendo: fix rumble worker null pointer deref
CVE-2022-49968 8.0 HIGH ieee802154/adf7242: defer destroy_workqueue call
CVE-2022-50035 7.8 HIGH drm/amdgpu: Fix use-after-free on amdgpu_bo_list mutex
CVE-2022-49944 7.8 HIGH Revert "usb: typec: ucsi: add a common function ucsi_unregister_connectors()"
CVE-2022-50028 7.8 HIGH gadgetfs: ep_io - wait until IRQ finishes
CVE-2022-49939 7.8 HIGH binder: fix UAF of ref->proc caused by race condition
CVE-2022-50182 7.8 HIGH media: imx-jpeg: Align upwards buffer size
CVE-2022-49935 7.8 HIGH dma-buf/dma-resv: check if the new fence is really later
CVE-2025-38082 7.8 HIGH gpio: virtuser: fix potential out-of-bound write
CVE-2025-38080 7.8 HIGH drm/amd/display: Increase block_sequence array size
CVE-2025-38060 7.8 HIGH bpf: copy_verifier_state() should copy 'loop_entry' field
CVE-2022-50101 7.8 HIGH video: fbdev: vt8623fb: Check the size of screen before memset_io()
CVE-2025-38062 7.8 HIGH genirq/msi: Store the IOMMU IOVA directly in msi_desc instead of iommu_cookie

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

IV. Related Vulnerabilities

V. Comments for CVE-2025-38040

No comments yet


Leave a comment