[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