lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Wed, 16 Feb 2022 12:19:14 +1100 From: Alexey Kardashevskiy <aik@...abs.ru> To: Steven Rostedt <rostedt@...dmis.org> Cc: llvm@...ts.linux.dev, linux-kernel@...r.kernel.org, Nick Desaulniers <ndesaulniers@...gle.com>, Nathan Chancellor <nathan@...nel.org>, Ingo Molnar <mingo@...hat.com>, Sami Tolvanen <samitolvanen@...gle.com> Subject: Re: [RFC PATCH kernel] trace: Make FTRACE_MCOUNT_USE_RECORDMCOUNT configurable On 2/12/22 13:47, Steven Rostedt wrote: > On Fri, 11 Feb 2022 12:43:13 +1100 > Alexey Kardashevskiy <aik@...abs.ru> wrote: > >> For whatever reason LLVM does not allow LTO (Link Time Optimization) if >> FTRACE_MCOUNT_USE_RECORDMCOUNT is enabled. >> >> This allows disabling just this option instead of disabling all FTRACE >> options. > > What FTRACE options are you talking about? LTO_CLANG_THIN => HAS_LTO_CLANG => !FTRACE_MCOUNT_USE_RECORDMCOUNT => FTRACE [=y] && !FTRACE_MCOUNT_USE_PATCHABLE_FUNCTION_ENTRY [=n] && !FTRACE_MCOUNT_USE_CC [=n] && !FTRACE_MCOUNT_USE_OBJTOOL [=n] && FTRACE_MCOUNT_RECORD [=y] A bunch. > >> >> Signed-off-by: Alexey Kardashevskiy <aik@...abs.ru> >> --- >> >> Or disabling FTRACE is the right thing to do if HAS_LTO_CLANG=y? >> >> Came from arch/Kconfig: >> >> config HAS_LTO_CLANG >> def_bool y >> depends on CC_IS_CLANG && LD_IS_LLD && AS_IS_LLVM >> depends on $(success,$(NM) --help | head -n 1 | grep -qi llvm) >> depends on $(success,$(AR) --help | head -n 1 | grep -qi llvm) >> depends on ARCH_SUPPORTS_LTO_CLANG >> depends on !FTRACE_MCOUNT_USE_RECORDMCOUNT <====== >> depends on !KASAN || KASAN_HW_TAGS >> depends on !GCOV_KERNEL >> >> >> --- >> kernel/trace/Kconfig | 3 ++- >> 1 file changed, 2 insertions(+), 1 deletion(-) >> >> diff --git a/kernel/trace/Kconfig b/kernel/trace/Kconfig >> index a5eb5e7fd624..87d82d2b0b0b 100644 >> --- a/kernel/trace/Kconfig >> +++ b/kernel/trace/Kconfig >> @@ -704,7 +704,8 @@ config FTRACE_MCOUNT_USE_OBJTOOL >> depends on FTRACE_MCOUNT_RECORD >> >> config FTRACE_MCOUNT_USE_RECORDMCOUNT >> - def_bool y >> + bool "Enable FTRACE_MCOUNT_USE_RECORDMCOUNT" >> + default y > > I don't think this does what you think it does. Sounds like it. > This is not something that should be user selectable. What exactly are > you trying to accomplish here? I am trying to diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig index b779603978e1..91c122224f83 100644 --- a/arch/powerpc/Kconfig +++ b/arch/powerpc/Kconfig @@ -153,6 +153,8 @@ config PPC select ARCH_WANT_IRQS_OFF_ACTIVATE_MM select ARCH_WANT_LD_ORPHAN_WARN select ARCH_WEAK_RELEASE_ACQUIRE + select ARCH_SUPPORTS_LTO_CLANG if PPC64 + select ARCH_SUPPORTS_LTO_CLANG_THIN if PPC64 to get LTO working on powerpc64le with minimal change to ppc64le_defconfig which has all these FTRACE_xxx enabled. > > -- Steve > > >> depends on !FTRACE_MCOUNT_USE_PATCHABLE_FUNCTION_ENTRY >> depends on !FTRACE_MCOUNT_USE_CC >> depends on !FTRACE_MCOUNT_USE_OBJTOOL >
Powered by blists - more mailing lists