CVE-2025-21645

CVE-2025-21645

Medium · published January 19, 2025

CVSS v3.1
5.5
EPSS
0%
Percentile
15.2
In the wild
Unconfirmed
What it is

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

platform/x86/amd/pmc: Only disable IRQ1 wakeup where i8042 actually enabled it

Wakeup for IRQ1 should be disabled only in cases where i8042 had

actually enabled it, otherwise "wake_depth" for this IRQ will try to

drop below zero and there will be an unpleasant WARN() logged:

kernel: atkbd serio0: Disabling IRQ1 wakeup source to avoid platform firmware bug

kernel: ------------[ cut here ]------------

kernel: Unbalanced IRQ 1 wake disable

kernel: WARNING: CPU: 10 PID: 6431 at kernel/irq/manage.c:920 irq_set_irq_wake+0x147/0x1a0

The PMC driver uses DEFINE_SIMPLE_DEV_PM_OPS() to define its dev_pm_ops

which sets amd_pmc_suspend_handler() to the .suspend, .freeze, and

.poweroff handlers. i8042_pm_suspend(), however, is only set as

the .suspend handler.

Fix the issue by call PMC suspend handler only from the same set of

dev_pm_ops handlers as i8042_pm_suspend(), which currently means just

the .suspend handler.

To reproduce this issue try hibernating (S4) the machine after a fresh boot

without putting it into s2idle first.

[ij: edited the commit message.]

The record
Technical detail
CVSS v3.1
5.5 · MEDIUM
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
CVSS v4.0
Not supplied
EPSS
0.00248 · 15.2th percentile
Published
2025-01-19T16:15Z
Affected products (14)
ProductVersionsFixed in
linux/linux_kernel≥ 5.15.95, < 5.165.16
linux/linux_kernel≥ 6.1.11, < 6.1.1406.1.140
linux/linux_kernel≥ 6.2.1, < 6.6.726.6.72
linux/linux_kernel≥ 6.7, < 6.12.106.12.10
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
References (7)
EPSS history
Timeline
  • 19 JAN 10:18Z
    platform/x86/amd/pmc: Only disable IRQ1 wakeup where i8042 actually enabled it
    cvelistv5