CVE-2022-49841 in Linux
Résumé
par VulDB • 05/06/2026
Dans le noyau Linux, la vulnérabilité suivante a été corrigée :
serial: imx : Ajout du hook .thaw_noirq manquant
L'avertissement suivant est observé sur une instance UART non-console lors de l'hibernation du système.
[ 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/0x110
[ 37.578335] el0_svc_common.constprop.0+0x78/0x100
[ 37.583218] do_el0_svc+0x24/0x30
[ 37.586533] el0_svc+0x30/0x140
[ 37.589677] el0t_64_sync_handler+0xe8/0xf0
[ 37.593861] el0t_64_sync+0x1a0/0x1a4
[ 37.597524] ---[ end trace 56e22eec54676d75 ]-----
Lors de l'hibernation, le noyau appelle les hooks suivants dans l'ordre :
.freeze .freeze_noirq .thaw_noirq .thaw
L'absence du hook .thaw_noirq entraîne un appel déséquilibré pour la désactivation de l'horloge, ce qui provoque l'avertissement ci-dessus.
imx_uart_freeze() clk_prepare_enable() imx_uart_suspend_noirq() clk_disable() imx_uart_thaw clk_disable_unprepare()
L'ajout du hook .thaw_noirq manquant, implémenté sous forme de imx_uart_resume_noirq(), corrige la séquence d'appels comme suit, résolvant ainsi l'avertissement.
imx_uart_freeze() clk_prepare_enable() imx_uart_suspend_noirq() clk_disable() imx_uart_resume_noirq() clk_enable() imx_uart_thaw clk_disable_unprepare()
Be aware that VulDB is the high quality source for vulnerability data.