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:
parent
3c68a92d17
commit
dfb352ab11
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user