]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
include/linux/local_lock_internal.h: Make this header file again compatible with...
authorBart Van Assche <bvanassche@acm.org>
Wed, 11 Mar 2026 23:14:55 +0000 (16:14 -0700)
committerPeter Zijlstra <peterz@infradead.org>
Thu, 12 Mar 2026 10:29:11 +0000 (11:29 +0100)
There are two versions of the __this_cpu_local_lock() definitions in
include/linux/local_lock_internal.h: one version that relies on the
Clang overloading functionality and another version that does not.
Select the latter version when using sparse. This patch fixes the
following errors reported by sparse:

   include/linux/local_lock_internal.h:331:40: sparse: sparse: multiple definitions for function '__this_cpu_local_lock'
   include/linux/local_lock_internal.h:325:37: sparse:  the previous one is here

Closes: https://lore.kernel.org/oe-kbuild-all/202603062334.wgI5htP0-lkp@intel.com/
Fixes: d3febf16dee2 ("locking/local_lock: Support Clang's context analysis")
Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Marco Elver <elver@google.com>
Link: https://patch.msgid.link/20260311231455.1961413-1-bvanassche@acm.org
include/linux/local_lock_internal.h

index eff711bf973f546f9f5c925b2f4abf0fa270f8ad..234be7f12c15e5287a79024f54e1dcab4ca76f26 100644 (file)
@@ -315,7 +315,7 @@ do {                                                                \
 
 #endif /* CONFIG_PREEMPT_RT */
 
-#if defined(WARN_CONTEXT_ANALYSIS)
+#if defined(WARN_CONTEXT_ANALYSIS) && !defined(__CHECKER__)
 /*
  * Because the compiler only knows about the base per-CPU variable, use this
  * helper function to make the compiler think we lock/unlock the @base variable,