kallsyms: Drop CONFIG_CFI_CLANG workarounds

With -fsanitize=kcfi, the compiler no longer renames static
functions with CONFIG_CFI_CLANG + ThinLTO. Drop the code that cleans
up the ThinLTO hash from the function names.

Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
Reviewed-by: Kees Cook <keescook@chromium.org>
Tested-by: Kees Cook <keescook@chromium.org>
Tested-by: Nathan Chancellor <nathan@kernel.org>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Tested-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Kees Cook <keescook@chromium.org>
Link: https://lore.kernel.org/r/20220908215504.3686827-19-samitolvanen@google.com
This commit is contained in:
Sami Tolvanen 2022-09-08 14:55:00 -07:00 committed by Kees Cook
parent 3c68a92d17
commit dfb352ab11

View File

@ -159,7 +159,6 @@ static bool cleanup_symbol_name(char *s)
* character in an identifier in C. Suffixes observed: * character in an identifier in C. Suffixes observed:
* - foo.llvm.[0-9a-f]+ * - foo.llvm.[0-9a-f]+
* - foo.[0-9a-f]+ * - foo.[0-9a-f]+
* - foo.[0-9a-f]+.cfi_jt
*/ */
res = strchr(s, '.'); res = strchr(s, '.');
if (res) { if (res) {
@ -167,22 +166,6 @@ static bool cleanup_symbol_name(char *s)
return true; return true;
} }
if (!IS_ENABLED(CONFIG_CFI_CLANG) ||
!IS_ENABLED(CONFIG_LTO_CLANG_THIN) ||
CONFIG_CLANG_VERSION >= 130000)
return false;
/*
* Prior to LLVM 13, the following suffixes were observed when thinLTO
* and CFI are both enabled:
* - foo$[0-9]+
*/
res = strrchr(s, '$');
if (res) {
*res = '\0';
return true;
}
return false; return false;
} }