[RFC 00/12] powerpc/pseries,powernv: Enable clang context analysis
From: Ritesh Harjani (IBM)
Date: Sun Sep 27 2026 - 10:34:41 EST
Enable Clang context analysis checking for PowerPC pseries & powernv platforms.
Lock acquire and release checking used to be done with Sparse. That support was
removed [1] and replaced with Clang context analysis [2].
Note that enabling this caught few real locking races in arch/powerpc/mm.
However, the fixes for those and enablement for the rest of the subsystems will
be done in a follow up patch series. Also the more invasive checkers to check
what each lock protects is again deferred for later enablement.
The series was build tested with Clang 23.x
[1] 5b63d0ae94cc ("compiler-context-analysis: Remove Sparse support")
[2] 3269701cb256 ("compiler-context-analysis: Add infrastructure for Context Analysis with Clang")
Ritesh Harjani (IBM) (12):
powerpc/pseries: Drop inline from hugepage invalidate
powerpc/pseries: Rework hugepage invalidate to remove conditional locking
powerpc/pseries: Rework hash flush to remove conditional locking
powerpc/pseries: Add context annotations for the DTL worker lock
powerpc/pseries: Annotate the VPD sequence lock context
powerpc/pseries: Annotate the RTAS indices sequence lock context
powerpc/pseries: Annotate the RTAS physical-attestation sequence lock context
powerpc/pseries: Annotate the DTL debugfs read lock context
powerpc/pseries: Disable context analysis for the CMM hotplug notifier
powerpc/pseries: Enable context analysis
powerpc/powernv: Rework OPAL console write to remove conditional locking
powerpc/powernv: Enable context analysis
arch/powerpc/platforms/powernv/Makefile | 2 +
arch/powerpc/platforms/powernv/opal.c | 30 ++++++----
arch/powerpc/platforms/pseries/Makefile | 3 +
arch/powerpc/platforms/pseries/cmm.c | 1 +
arch/powerpc/platforms/pseries/dtl.c | 8 +++
arch/powerpc/platforms/pseries/lpar.c | 59 ++++++++++++-------
arch/powerpc/platforms/pseries/papr-indices.c | 3 +
.../platforms/pseries/papr-phy-attest.c | 4 ++
arch/powerpc/platforms/pseries/papr-vpd.c | 3 +
9 files changed, 81 insertions(+), 32 deletions(-)
--
2.39.5