KernelScan.io

HIGH Introduced in 5.18

amd_pmc S2D Init Deref

CVE-2026-81016

CVSS 7.7 / 10.0 NVD

CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H

KernelScan AI5.1MEDIUM

01

In the Linux kernel, the following vulnerability has been resolved: platform/x86/amd/pmc: Propagate SMU errors and validate S2D address amd_stb_s2d_init() discards the return value of several S2D SMU commands. When the SMU refuses a command (e.g. "SMU cmd failed. err: 0xff") the failure is only noticed indirectly - if at all - and reported as -EIO, masking the real error. More seriously, the S2D_PHYS_ADDR_LOW/HIGH return values are ignored, so on failure phys_addr_low/hi are left uninitialised and the assembled address is passed straight to devm_ioremap(). When the SMU leaves them at zero this maps physical address 0 and trips the ioremap-on-RAM warning: amd_pmc AMDI000B:00: SMU cmd failed. err: 0xff ioremap on RAM at 0x0000000000000000 - 0x0000000000ffffff WARNING: CPU: 13 PID: 4592 at arch/x86/mm/ioremap.c:... Check the return value of each SMU command and propagate it, and reject a zero physical address before calling devm_ioremap().

02

Engine v0.6.0

Risk summary

On AMD platforms with the Spill-to-DRAM STB feature, a failed SMU command during initialization can leave physical address variables uninitialized, causing the driver to attempt ioremap on physical address 0 (RAM), triggering a kernel warning and potential system instability. This requires AMD hardware with the S2D feature and is triggered during driver initialization, not by an attacker-controlled input.

Affecteddrivers/platform/x86/amd/pmc/mp1_stb.c (amd-pmc)

Vulnerability analysis

The AMD PMC driver's Spill-to-DRAM initialization function discards the return values of several SMU (System Management Unit) commands. When the SMU rejects a command, the physical address low/high values remain uninitialized (or zero), and the driver proceeds to pass this invalid address to devm_ioremap(), which attempts to map physical address 0 as I/O memory, triggering an ioremap-on-RAM kernel warning. The fix checks the return value of each SMU command and propagates errors, and explicitly rejects a zero physical address before attempting the ioremap. This vulnerability is reachable only on AMD hardware that supports the Spill-to-DRAM STB feature, during driver initialization, and does not require any attacker-controlled input — it is triggered by SMU firmware behavior.

03

BranchIntroducedFixed inPatch commit
6.125.186.12.112638e1ca5d4e2
6.185.186.18.508178f59d7657
7.25.187.2.4775d4cde1f97
mainline5.187.3-rc10225c1d63768