PT-2026-90145 · Linux · Linux
CVE-2026-81015
·
Published
2026-09-11
·
Updated
2026-09-11
None
No severity ratings or metrics are available. When they are, we'll update the corresponding info on the page.
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.
Found an issue in the description? Have something to add? Feel free to write us 👾
Related Identifiers
Affected Products
Linux