[PATCH 0/3] platform/x86/amd/hsmp: Harden ACPI probe, metric DRAM, and socket teardown

Muralidhara M K posted 3 patches 2 hours ago
drivers/platform/x86/amd/hsmp/acpi.c | 87 +++++++++++++++++++++++-----
drivers/platform/x86/amd/hsmp/hsmp.c | 38 +++++++++++-
drivers/platform/x86/amd/hsmp/hsmp.h |  9 ++-
drivers/platform/x86/amd/hsmp/plat.c |  3 +
4 files changed, 119 insertions(+), 18 deletions(-)
[PATCH 0/3] platform/x86/amd/hsmp: Harden ACPI probe, metric DRAM, and socket teardown
Posted by Muralidhara M K 2 hours ago
This series tightens concurrency and lifetime management in the ACPI-backed
AMD HSMP platform path so probe/remove races cannot corrupt global probe state,
leak metric-table DRAM mappings, or tear down shared resources while readers
might still be active.

Patch 1 introduces a dedicated probe mutex around ACPI probe, remove, and
init_acpi(), replacing ad-hoc synchronization on the global is_probed handshake.
lockdep_assert_held() documents the locking contract for init_acpi().

Patch 2 switches metric table DRAM from devm_ioremap() to ioremap() with
explicit init/teardown helpers, and embeds a per-socket mutex for metric reads.
The legacy platform driver wires the same helpers so non-ACPI builds stay
consistent.

Patch 3 replaces the global is_probed flag with miscdevice registration state,
refcounts ACPI socket platform devices with kref, and runs coordinated release
on the final put: misc deregistration when appropriate, metric unmap, and socket
array free. Socket storage uses kcalloc() with careful failure cleanup before
any kref is published.

Muralidhara M K (3):
  platform/x86/amd/hsmp: Serialize ACPI HSMP is_probed with a probe
    mutex
  platform/x86/amd/hsmp: Add explicit metric DRAM mapping and per-socket
    mutexes
  platform/x86/amd/hsmp: ACPI HSMP refcounted sockets and coordinated
    release

 drivers/platform/x86/amd/hsmp/acpi.c | 87 +++++++++++++++++++++++-----
 drivers/platform/x86/amd/hsmp/hsmp.c | 38 +++++++++++-
 drivers/platform/x86/amd/hsmp/hsmp.h |  9 ++-
 drivers/platform/x86/amd/hsmp/plat.c |  3 +
 4 files changed, 119 insertions(+), 18 deletions(-)

-- 
2.34.1