mirror of https://github.com/torvalds/linux.git
objtool: Drop noinstr hack for KCSAN_WEAK_MEMORY
Now that the minimum supported version of LLVM for building the kernel has been bumped to 15.0.0, __no_kcsan will always ensure that the thread sanitizer functions are not generated, so remove the check for tsan functions in is_profiling_func() and the always true depends and unnecessary select lines in KCSAN_WEAK_MEMORY. Acked-by: Marco Elver <elver@google.com> Acked-by: Peter Zijlstra (Intel) <peterz@infraded.org> Reviewed-by: Kees Cook <kees@kernel.org> Link: https://lore.kernel.org/r/20250821-bump-min-llvm-ver-15-v2-11-635f3294e5f0@kernel.org Signed-off-by: Nathan Chancellor <nathan@kernel.org>
This commit is contained in:
parent
a817de2009
commit
573ad421cc
|
|
@ -185,12 +185,6 @@ config KCSAN_WEAK_MEMORY
|
|||
bool "Enable weak memory modeling to detect missing memory barriers"
|
||||
default y
|
||||
depends on KCSAN_STRICT
|
||||
# We can either let objtool nop __tsan_func_{entry,exit}() and builtin
|
||||
# atomics instrumentation in .noinstr.text, or use a compiler that can
|
||||
# implement __no_kcsan to really remove all instrumentation.
|
||||
depends on !ARCH_WANTS_NO_INSTR || HAVE_NOINSTR_HACK || \
|
||||
CC_IS_GCC || CLANG_VERSION >= 140000
|
||||
select OBJTOOL if HAVE_NOINSTR_HACK
|
||||
help
|
||||
Enable support for modeling a subset of weak memory, which allows
|
||||
detecting a subset of data races due to missing memory barriers.
|
||||
|
|
|
|||
|
|
@ -2453,16 +2453,6 @@ static bool is_profiling_func(const char *name)
|
|||
if (!strncmp(name, "__sanitizer_cov_", 16))
|
||||
return true;
|
||||
|
||||
/*
|
||||
* Some compilers currently do not remove __tsan_func_entry/exit nor
|
||||
* __tsan_atomic_signal_fence (used for barrier instrumentation) with
|
||||
* the __no_sanitize_thread attribute, remove them. Once the kernel's
|
||||
* minimum Clang version is 14.0, this can be removed.
|
||||
*/
|
||||
if (!strncmp(name, "__tsan_func_", 12) ||
|
||||
!strcmp(name, "__tsan_atomic_signal_fence"))
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue