CVE-2022-49841 in Linuxthông tin

Tóm tắt

Bởi VulDB • 29/05/2026

Trong kernel Linux, lỗ hổng sau đây đã được khắc phục:

serial: imx: Thêm hook .thaw_noirq bị thiếu

Cảnh báo sau được hiển thị với phiên bản UART không phải console khi hệ thống ngủ đông (hibernate).

[ 37.371969] ------------[ cut here ]------------
[ 37.376599] uart3_root_clk already disabled
[ 37.380810] WARNING: CPU: 0 PID: 296 at drivers/clk/clk.c:952 clk_core_disable+0xa4/0xb0
... [ 37.506986] Call trace:
[ 37.509432] clk_core_disable+0xa4/0xb0
[ 37.513270] clk_disable+0x34/0x50
[ 37.516672] imx_uart_thaw+0x38/0x5c
[ 37.520250] platform_pm_thaw+0x30/0x6c
[ 37.524089] dpm_run_callback.constprop.0+0x3c/0xd4
[ 37.528972] device_resume+0x7c/0x160
[ 37.532633] dpm_resume+0xe8/0x230
[ 37.536036] hibernation_snapshot+0x288/0x430
[ 37.540397] hibernate+0x10c/0x2e0
[ 37.543798] state_store+0xc4/0xd0
[ 37.547203] kobj_attr_store+0x1c/0x30
[ 37.550953] sysfs_kf_write+0x48/0x60
[ 37.554619] kernfs_fop_write_iter+0x118/0x1ac
[ 37.559063] new_sync_write+0xe8/0x184
[ 37.562812] vfs_write+0x230/0x290
[ 37.566214] ksys_write+0x68/0xf4
[ 37.569529] __arm64_sys_write+0x20/0x2c
[ 37.573452] invoke_syscall.constprop.0+0x50/0xf0
[ 37.578234] el0_svc_common.constprop.0+0x68/0x190
[ 37.583117] do_el0_svc+0x24/0x90
[ 37.586432] el0_svc+0x30/0x140
[ 37.589576] el0t_64_sync_handler+0xe8/0xf0
[ 37.593760] el0t_64_sync+0x1a0/0x1a4
[ 37.597423] ---[ end trace 56e22eec54676d75 ]-----

Khi ngủ đông, lõi pm gọi vào các hook liên tiếp theo thứ tự như sau:

.freeze .freeze_noirq .thaw_noirq .thaw

Với việc thiếu hook .thaw_noirq, đồng hồ sẽ bị vô hiệu hóa trong một lệnh gọi không cân bằng, dẫn đến cảnh báo trên.

imx_uart_freeze() clk_prepare_enable() imx_uart_suspend_noirq() clk_disable() imx_uart_thaw clk_disable_unprepare()

Việc thêm hook .thaw_noirq bị thiếu dưới dạng imx_uart_resume_noirq() sẽ có trình tự lệnh gọi được sửa chữa như dưới đây và do đó khắc phục được cảnh báo.

imx_uart_freeze() clk_prepare_enable() imx_uart_suspend_noirq() clk_disable() imx_uart_resume_noirq() clk_enable() imx_uart_thaw clk_disable_unprepare()

If you want to get best quality of vulnerability data, you may have to visit VulDB.

chịu trách nhiệm

Linux

Đặt trước

01/05/2025

Tiết lộ

01/05/2025

Kiểm duyệt

được chấp nhận

EPSS

0.00166

KEV

không

Các hoạt động

rất thấp

Nguồn

Do you want to use VulDB in your project?

Use the official API to access entries easily!