fkie_cve-2022-49841
Vulnerability from fkie_nvd
Published
2025-05-01 15:16
Modified
2025-05-02 13:53
Severity ?
Summary
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()
Impacted products
Vendor Product Version



{
  "cveTags": [],
  "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()"
    },
    {
      "lang": "es",
      "value": "En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: serial: imx: Agregar el gancho .thaw_noirq faltante. La siguiente advertencia se ve con una instancia UART que no es de consola cuando el sistema hiberna. [ 37.371969] ------------[ cortar aqu\u00ed ]------------ [ 37.376599] uart3_root_clk ya est\u00e1 deshabilitado [ 37.380810] ADVERTENCIA: CPU: 0 PID: 296 en drivers/clk/clk.c:952 clk_core_disable+0xa4/0xb0 ... [ 37.506986] Rastreo de llamadas: [ 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 ] Al hibernar, el n\u00facleo pm llama a los ganchos relacionados en secuencia como: .freeze .freeze_noirq .thaw_noirq .thaw Si el gancho .thaw_noirq est\u00e1 ausente, el reloj se deshabilitar\u00e1 en una llamada desequilibrada que genera la advertencia anterior. imx_uart_freeze() clk_prepare_enable() imx_uart_suspend_noirq() clk_disable() imx_uart_thaw clk_disable_unprepare() Agregar el gancho .thaw_noirq faltante como imx_uart_resume_noirq() corregir\u00e1 la secuencia de llamada como se muestra a continuaci\u00f3n y, por lo tanto, solucionar\u00e1 la advertencia. imx_uart_freeze() clk_prepare_enable() imx_uart_suspend_noirq() clk_disable() imx_uart_resume_noirq() clk_enable() imx_uart_thaw clk_disable_unprepare()"
    }
  ],
  "id": "CVE-2022-49841",
  "lastModified": "2025-05-02T13:53:20.943",
  "metrics": {},
  "published": "2025-05-01T15:16:07.600",
  "references": [
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "url": "https://git.kernel.org/stable/c/0a3160f4ffc70ee4bfa1521f698dace06e6091fd"
    },
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "url": "https://git.kernel.org/stable/c/4561d8008a467cb05ac632a215391d6b787f40aa"
    },
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "url": "https://git.kernel.org/stable/c/476b09e07bd519ec7ba5941a6a6f9a02256dbb21"
    },
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "url": "https://git.kernel.org/stable/c/ae22294e213a402a70fa1731538367d1b758ffe7"
    },
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "url": "https://git.kernel.org/stable/c/e3f9d87d6f0732827c443bd1474df21c2fad704b"
    },
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "url": "https://git.kernel.org/stable/c/e401312ca6e180ee1bd65f6a766e99dd40aa95e7"
    }
  ],
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
  "vulnStatus": "Awaiting Analysis"
}


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…