lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <2025050140-CVE-2022-49841-8d40@gregkh>
Date: Thu,  1 May 2025 16:10:31 +0200
From: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
To: linux-cve-announce@...r.kernel.org
Cc: Greg Kroah-Hartman <gregkh@...nel.org>
Subject: CVE-2022-49841: serial: imx: Add missing .thaw_noirq hook

From: Greg Kroah-Hartman <gregkh@...nel.org>

Description
===========

In the Linux kernel, the following vulnerability has been resolved:

serial: imx: Add missing .thaw_noirq hook

The following warning is seen with non-console UART instance when
system hibernates.

[   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.578156]  do_el0_svc+0x11c/0x150
[   37.581648]  el0_svc+0x30/0x140
[   37.584792]  el0t_64_sync_handler+0xe8/0xf0
[   37.588976]  el0t_64_sync+0x1a0/0x1a4
[   37.592639] ---[ end trace 56e22eec54676d75 ]---

On hibernating, pm core calls into related hooks in sequence like:

    .freeze
    .freeze_noirq
    .thaw_noirq
    .thaw

With .thaw_noirq hook being absent, the clock will be disabled in a
unbalanced call which results the warning above.

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

Adding the missing .thaw_noirq hook as imx_uart_resume_noirq() will have
the call sequence corrected as below and thus fix the warning.

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

The Linux kernel CVE team has assigned CVE-2022-49841 to this issue.


Affected and fixed versions
===========================

	Issue introduced in 4.16 with commit 09df0b3464e528c6a4ca2c48d9ff6d2fd7cbd775 and fixed in 4.19.267 with commit e401312ca6e180ee1bd65f6a766e99dd40aa95e7
	Issue introduced in 4.16 with commit 09df0b3464e528c6a4ca2c48d9ff6d2fd7cbd775 and fixed in 5.4.225 with commit 476b09e07bd519ec7ba5941a6a6f9a02256dbb21
	Issue introduced in 4.16 with commit 09df0b3464e528c6a4ca2c48d9ff6d2fd7cbd775 and fixed in 5.10.156 with commit 0a3160f4ffc70ee4bfa1521f698dace06e6091fd
	Issue introduced in 4.16 with commit 09df0b3464e528c6a4ca2c48d9ff6d2fd7cbd775 and fixed in 5.15.80 with commit ae22294e213a402a70fa1731538367d1b758ffe7
	Issue introduced in 4.16 with commit 09df0b3464e528c6a4ca2c48d9ff6d2fd7cbd775 and fixed in 6.0.10 with commit e3f9d87d6f0732827c443bd1474df21c2fad704b
	Issue introduced in 4.16 with commit 09df0b3464e528c6a4ca2c48d9ff6d2fd7cbd775 and fixed in 6.1 with commit 4561d8008a467cb05ac632a215391d6b787f40aa

Please see https://www.kernel.org for a full list of currently supported
kernel versions by the kernel community.

Unaffected versions might change over time as fixes are backported to
older supported kernel versions.  The official CVE entry at
	https://cve.org/CVERecord/?id=CVE-2022-49841
will be updated if fixes are backported, please check that for the most
up to date information about this issue.


Affected files
==============

The file(s) affected by this issue are:
	drivers/tty/serial/imx.c


Mitigation
==========

The Linux kernel CVE team recommends that you update to the latest
stable kernel version for this, and many other bugfixes.  Individual
changes are never tested alone, but rather are part of a larger kernel
release.  Cherry-picking individual commits is not recommended or
supported by the Linux kernel community at all.  If however, updating to
the latest release is impossible, the individual changes to resolve this
issue can be found at these commits:
	https://git.kernel.org/stable/c/e401312ca6e180ee1bd65f6a766e99dd40aa95e7
	https://git.kernel.org/stable/c/476b09e07bd519ec7ba5941a6a6f9a02256dbb21
	https://git.kernel.org/stable/c/0a3160f4ffc70ee4bfa1521f698dace06e6091fd
	https://git.kernel.org/stable/c/ae22294e213a402a70fa1731538367d1b758ffe7
	https://git.kernel.org/stable/c/e3f9d87d6f0732827c443bd1474df21c2fad704b
	https://git.kernel.org/stable/c/4561d8008a467cb05ac632a215391d6b787f40aa

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ