Clang's context analysis reports: cmm.c: error: mutex 'hotplug_mutex' is still held at the end of function [-Werror,-Wthread-safety-analysis] cmm.c: error: releasing mutex 'hotplug_mutex' that was not held [-Werror,-Wthread-safety-analysis]
cmm_memory_cb() takes hotplug_mutex on MEM_GOING_OFFLINE and drops it on a later MEM_OFFLINE or MEM_CANCEL_OFFLINE call. Add __context_unsafe() annotation for cmm_memory_cb() callback to avoid the reported build error in order to enable Clang context analysis. Signed-off-by: Ritesh Harjani (IBM) <[email protected]> --- arch/powerpc/platforms/pseries/cmm.c | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/powerpc/platforms/pseries/cmm.c b/arch/powerpc/platforms/pseries/cmm.c index 38e22125b96f..159efe734785 100644 --- a/arch/powerpc/platforms/pseries/cmm.c +++ b/arch/powerpc/platforms/pseries/cmm.c @@ -470,6 +470,7 @@ static struct notifier_block cmm_reboot_nb = { **/ static int cmm_memory_cb(struct notifier_block *self, unsigned long action, void *arg) + __context_unsafe(/* Conditional locking */) { switch (action) { case MEM_GOING_OFFLINE: -- 2.39.5
