{"id":"CVE-2022-49841","state":"PUBLISHED","title":"serial: imx: Add missing .thaw_noirq hook","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nserial: imx: Add missing .thaw_noirq hook\n\nThe following warning is seen with non-console UART instance when\nsystem hibernates.\n\n[   37.371969] ------------[ cut here ]------------\n[   37.376599] uart3_root_clk already disabled\n[   37.380810] WARNING: CPU: 0 PID: 296 at drivers/clk/clk.c:952 clk_core_disable+0xa4/0xb0\n...\n[   37.506986] Call trace:\n[   37.509432]  clk_core_disable+0xa4/0xb0\n[   37.513270]  clk_disable+0x34/0x50\n[   37.516672]  imx_uart_thaw+0x38/0x5c\n[   37.520250]  platform_pm_thaw+0x30/0x6c\n[   37.524089]  dpm_run_callback.constprop.0+0x3c/0xd4\n[   37.528972]  device_resume+0x7c/0x160\n[   37.532633]  dpm_resume+0xe8/0x230\n[   37.536036]  hibernation_snapshot+0x288/0x430\n[   37.540397]  hibernate+0x10c/0x2e0\n[   37.543798]  state_store+0xc4/0xd0\n[   37.547203]  kobj_attr_store+0x1c/0x30\n[   37.550953]  sysfs_kf_write+0x48/0x60\n[   37.554619]  kernfs_fop_write_iter+0x118/0x1ac\n[   37.559063]  new_sync_write+0xe8/0x184\n[   37.562812]  vfs_write+0x230/0x290\n[   37.566214]  ksys_write+0x68/0xf4\n[   37.569529]  __arm64_sys_write+0x20/0x2c\n[   37.573452]  invoke_syscall.constprop.0+0x50/0xf0\n[   37.578156]  do_el0_svc+0x11c/0x150\n[   37.581648]  el0_svc+0x30/0x140\n[   37.584792]  el0t_64_sync_handler+0xe8/0xf0\n[   37.588976]  el0t_64_sync+0x1a0/0x1a4\n[   37.592639] ---[ end trace 56e22eec54676d75 ]---\n\nOn hibernating, pm core calls into related hooks in sequence like:\n\n    .freeze\n    .freeze_noirq\n    .thaw_noirq\n    .thaw\n\nWith .thaw_noirq hook being absent, the clock will be disabled in a\nunbalanced call which results the warning above.\n\n    imx_uart_freeze()\n        clk_prepare_enable()\n    imx_uart_suspend_noirq()\n        clk_disable()\n    imx_uart_thaw\n        clk_disable_unprepare()\n\nAdding the missing .thaw_noirq hook as imx_uart_resume_noirq() will have\nthe call sequence corrected as below and thus fix the warning.\n\n    imx_uart_freeze()\n        clk_prepare_enable()\n    imx_uart_suspend_noirq()\n        clk_disable()\n    imx_uart_resume_noirq()\n        clk_enable()\n    imx_uart_thaw\n        clk_disable_unprepare()","publishedAt":"2025-05-01T14:09:56.980Z","updatedAt":"2026-05-11T19:07:48.703Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"09df0b3464e528c6a4ca2c48d9ff6d2fd7cbd775","status":"affected","lessThan":"e401312ca6e180ee1bd65f6a766e99dd40aa95e7","versionType":"git"},{"version":"09df0b3464e528c6a4ca2c48d9ff6d2fd7cbd775","status":"affected","lessThan":"476b09e07bd519ec7ba5941a6a6f9a02256dbb21","versionType":"git"},{"version":"09df0b3464e528c6a4ca2c48d9ff6d2fd7cbd775","status":"affected","lessThan":"0a3160f4ffc70ee4bfa1521f698dace06e6091fd","versionType":"git"},{"version":"09df0b3464e528c6a4ca2c48d9ff6d2fd7cbd775","status":"affected","lessThan":"ae22294e213a402a70fa1731538367d1b758ffe7","versionType":"git"},{"version":"09df0b3464e528c6a4ca2c48d9ff6d2fd7cbd775","status":"affected","lessThan":"e3f9d87d6f0732827c443bd1474df21c2fad704b","versionType":"git"},{"version":"09df0b3464e528c6a4ca2c48d9ff6d2fd7cbd775","status":"affected","lessThan":"4561d8008a467cb05ac632a215391d6b787f40aa","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/tty/serial/imx.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"4.16","status":"affected"},{"version":"0","status":"unaffected","lessThan":"4.16","versionType":"semver"},{"version":"4.19.267","status":"unaffected","lessThanOrEqual":"4.19.*","versionType":"semver"},{"version":"5.4.225","status":"unaffected","lessThanOrEqual":"5.4.*","versionType":"semver"},{"version":"5.10.156","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.80","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.0.10","status":"unaffected","lessThanOrEqual":"6.0.*","versionType":"semver"},{"version":"6.1","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/tty/serial/imx.c"]}],"references":["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"],"weaknesses":[],"ingestedAt":"2026-10-29T20:05:26.763Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2022/49xxx/CVE-2022-49841.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2022-49841","state":"PUBLISHED","datePublished":"2025-05-01T14:09:56.980Z","dateUpdated":"2026-05-11T19:07:48.703Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2025-05-01T14:05:17.229Z"},"containers":{"cna":{"title":"serial: imx: Add missing .thaw_noirq hook","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nserial: imx: Add missing .thaw_noirq hook\n\nThe following warning is seen with non-console UART instance when\nsystem hibernates.\n\n[   37.371969] ------------[ cut here ]------------\n[   37.376599] uart3_root_clk already disabled\n[   37.380810] WARNING: CPU: 0 PID: 296 at drivers/clk/clk.c:952 clk_core_disable+0xa4/0xb0\n...\n[   37.506986] Call trace:\n[   37.509432]  clk_core_disable+0xa4/0xb0\n[   37.513270]  clk_disable+0x34/0x50\n[   37.516672]  imx_uart_thaw+0x38/0x5c\n[   37.520250]  platform_pm_thaw+0x30/0x6c\n[   37.524089]  dpm_run_callback.constprop.0+0x3c/0xd4\n[   37.528972]  device_resume+0x7c/0x160\n[   37.532633]  dpm_resume+0xe8/0x230\n[   37.536036]  hibernation_snapshot+0x288/0x430\n[   37.540397]  hibernate+0x10c/0x2e0\n[   37.543798]  state_store+0xc4/0xd0\n[   37.547203]  kobj_attr_store+0x1c/0x30\n[   37.550953]  sysfs_kf_write+0x48/0x60\n[   37.554619]  kernfs_fop_write_iter+0x118/0x1ac\n[   37.559063]  new_sync_write+0xe8/0x184\n[   37.562812]  vfs_write+0x230/0x290\n[   37.566214]  ksys_write+0x68/0xf4\n[   37.569529]  __arm64_sys_write+0x20/0x2c\n[   37.573452]  invoke_syscall.constprop.0+0x50/0xf0\n[   37.578156]  do_el0_svc+0x11c/0x150\n[   37.581648]  el0_svc+0x30/0x140\n[   37.584792]  el0t_64_sync_handler+0xe8/0xf0\n[   37.588976]  el0t_64_sync+0x1a0/0x1a4\n[   37.592639] ---[ end trace 56e22eec54676d75 ]---\n\nOn hibernating, pm core calls into related hooks in sequence like:\n\n    .freeze\n    .freeze_noirq\n    .thaw_noirq\n    .thaw\n\nWith .thaw_noirq hook being absent, the clock will be disabled in a\nunbalanced call which results the warning above.\n\n    imx_uart_freeze()\n        clk_prepare_enable()\n    imx_uart_suspend_noirq()\n        clk_disable()\n    imx_uart_thaw\n        clk_disable_unprepare()\n\nAdding the missing .thaw_noirq hook as imx_uart_resume_noirq() will have\nthe call sequence corrected as below and thus fix the warning.\n\n    imx_uart_freeze()\n        clk_prepare_enable()\n    imx_uart_suspend_noirq()\n        clk_disable()\n    imx_uart_resume_noirq()\n        clk_enable()\n    imx_uart_thaw\n        clk_disable_unprepare()"}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"09df0b3464e528c6a4ca2c48d9ff6d2fd7cbd775","status":"affected","lessThan":"e401312ca6e180ee1bd65f6a766e99dd40aa95e7","versionType":"git"},{"version":"09df0b3464e528c6a4ca2c48d9ff6d2fd7cbd775","status":"affected","lessThan":"476b09e07bd519ec7ba5941a6a6f9a02256dbb21","versionType":"git"},{"version":"09df0b3464e528c6a4ca2c48d9ff6d2fd7cbd775","status":"affected","lessThan":"0a3160f4ffc70ee4bfa1521f698dace06e6091fd","versionType":"git"},{"version":"09df0b3464e528c6a4ca2c48d9ff6d2fd7cbd775","status":"affected","lessThan":"ae22294e213a402a70fa1731538367d1b758ffe7","versionType":"git"},{"version":"09df0b3464e528c6a4ca2c48d9ff6d2fd7cbd775","status":"affected","lessThan":"e3f9d87d6f0732827c443bd1474df21c2fad704b","versionType":"git"},{"version":"09df0b3464e528c6a4ca2c48d9ff6d2fd7cbd775","status":"affected","lessThan":"4561d8008a467cb05ac632a215391d6b787f40aa","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/tty/serial/imx.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"4.16","status":"affected"},{"version":"0","status":"unaffected","lessThan":"4.16","versionType":"semver"},{"version":"4.19.267","status":"unaffected","lessThanOrEqual":"4.19.*","versionType":"semver"},{"version":"5.4.225","status":"unaffected","lessThanOrEqual":"5.4.*","versionType":"semver"},{"version":"5.10.156","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.80","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.0.10","status":"unaffected","lessThanOrEqual":"6.0.*","versionType":"semver"},{"version":"6.1","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/tty/serial/imx.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/e401312ca6e180ee1bd65f6a766e99dd40aa95e7"},{"url":"https://git.kernel.org/stable/c/476b09e07bd519ec7ba5941a6a6f9a02256dbb21"},{"url":"https://git.kernel.org/stable/c/0a3160f4ffc70ee4bfa1521f698dace06e6091fd"},{"url":"https://git.kernel.org/stable/c/ae22294e213a402a70fa1731538367d1b758ffe7"},{"url":"https://git.kernel.org/stable/c/e3f9d87d6f0732827c443bd1474df21c2fad704b"},{"url":"https://git.kernel.org/stable/c/4561d8008a467cb05ac632a215391d6b787f40aa"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-05-11T19:07:48.703Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.16","versionEndExcluding":"4.19.267"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.16","versionEndExcluding":"5.4.225"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.16","versionEndExcluding":"5.10.156"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.16","versionEndExcluding":"5.15.80"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.16","versionEndExcluding":"6.0.10"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.16","versionEndExcluding":"6.1"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}}}}}