CVE-2026-81015

CVE-2026-81015

High · published September 12, 2026

CVSS v3.1
7.8
EPSS
0%
Percentile
6.7
In the wild
Unconfirmed
What it is

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

platform/x86/amd/pmc: Fix LPS0 and debugfs leaks when STB init fails

amd_pmc_probe() registers the LPS0 s2idle handler with

acpi_register_lps0_dev() and creates the driver's debugfs directory before

calling amd_stb_s2d_init(), which is the last step in probe that can fail.

When amd_stb_s2d_init() fails (for example the S2D telemetry region cannot

be ioremapped on a long-running system, or the SMU rejects the S2D setup)

the error path only calls pci_dev_put() and returns. This leaves

amd_pmc_s2idle_dev_ops on the global lps0_s2idle_devops_head list and leaks

the debugfs directory, while the devm-managed resources backing the handler

are torn down.

Reloading the module then walks the corrupted list in

acpi_register_lps0_dev() and hits:

list_add corruption. next->prev should be prev, but was NULL.

kernel BUG at lib/list_debug.c:29!

acpi_register_lps0_dev+0x44/0x80

amd_pmc_probe+0x224/0x380 [amd_pmc]

platform_probe+0x67/0x90

Even without a reload, the stale registration means the next s2idle

transition calls into torn-down driver state.

Unwind the debugfs directory and the LPS0 registration on the

amd_stb_s2d_init() error path. acpi_unregister_lps0_dev() is safe to call

unconditionally here: it is guarded on the same conditions as

acpi_register_lps0_dev(), which is exactly what amd_pmc_remove() already

relies on.

The record
Technical detail
CVSS v3.1
7.8 · HIGH
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00175 · 6.7th percentile
Published
2026-09-12T00:19Z
References (4)
EPSS history
Timeline
  • 13 SEP 03:23Z
    EPSS moved — → 0%
    epss
  • 11 SEP 19:43Z
    platform/x86/amd/pmc: Fix LPS0 and debugfs leaks when STB init fails
    cvelistv5