Re: [PATCH v1] ftrace: Fix compile error when CONFIG_GENDWARFKSYMS is enabled
From: Haiyue Wang
Date: Wed Feb 05 2025 - 22:24:10 EST
On 2025/2/6 10:45, Masami Hiramatsu (Google) wrote:
On Wed, 5 Feb 2025 19:53:00 -0500
Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:
On Thu, 6 Feb 2025 09:38:53 +0900
Masami Hiramatsu (Google) <mhiramat@xxxxxxxxxx> wrote:
Thanks for the fix. And this fixes one of problems.
Another one is that `is_endbr()` is defined in <asm/ibt.h> but that also depend
on CONFIG_HAVE_FENTRY.
Let's pick this and fix above issue.
OK, I'll pull this into my urgent tree and start testing it.
Sorry, Gabriel found another issue.
Let me fix this instead of this patch.
https://lore.kernel.org/all/CAFEugPfFykYsHqS-J36CNWDn+d34bSQg-e5hJ=AaJPC8=6Ej-g@xxxxxxxxxxxxxx/
If I put the fix above '#ifndef __ASSEMBLY__', then I can reproduce
Gabriel's founding:
+#ifdef CONFIG_X86_KERNEL_IBT
+#include <linux/uaccess.h>
+#endif
+
#ifndef __ASSEMBLY__
In file included from ./include/linux/kcsan-checks.h:13,
from ./include/linux/instrumented.h:12,
from ./include/linux/uaccess.h:6,
from ./arch/x86/include/asm/ftrace.h:26,
from arch/x86/kernel/ftrace_64.S:11:
./include/linux/compiler_attributes.h:91:20: error: missing binary
operator before token "("
91 | #if __has_attribute(__copy__)
| ^
./include/linux/compiler_attributes.h:103:20: error: missing binary
operator before token "("
103 | #if __has_attribute(__diagnose_as_builtin__)
| ^
./include/linux/compiler_attributes.h:126:20: error: missing binary
operator before token "("
126 | #if __has_attribute(__designated_init__)
| ^
./include/linux/compiler_attributes.h:137:20: error: missing binary
operator before token "("
137 | #if __has_attribute(__error__)
| ^
-- Steve