ghsa-vrw4-655g-rq7m
Vulnerability from github
Published
2025-05-01 15:31
Modified
2025-05-01 15:31
Details

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()
Show details on source website


{
  "affected": [],
  "aliases": [
    "CVE-2022-49841"
  ],
  "database_specific": {
    "cwe_ids": [],
    "github_reviewed": false,
    "github_reviewed_at": null,
    "nvd_published_at": "2025-05-01T15:16:07Z",
    "severity": null
  },
  "details": "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()",
  "id": "GHSA-vrw4-655g-rq7m",
  "modified": "2025-05-01T15:31:49Z",
  "published": "2025-05-01T15:31:49Z",
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2022-49841"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/0a3160f4ffc70ee4bfa1521f698dace06e6091fd"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/4561d8008a467cb05ac632a215391d6b787f40aa"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/476b09e07bd519ec7ba5941a6a6f9a02256dbb21"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/ae22294e213a402a70fa1731538367d1b758ffe7"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/e3f9d87d6f0732827c443bd1474df21c2fad704b"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/e401312ca6e180ee1bd65f6a766e99dd40aa95e7"
    }
  ],
  "schema_version": "1.4.0",
  "severity": []
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
  • Confirmed: The vulnerability is confirmed from an analyst perspective.
  • Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
  • Patched: This vulnerability was successfully patched by the user reporting the sighting.
  • Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
  • Not confirmed: The user expresses doubt about the veracity of the vulnerability.
  • Not patched: This vulnerability was not successfully patched by the user reporting the sighting.


Loading…

Loading…