arch/arm64/kernel/asm-offsets.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
From: Arnd Bergmann <arnd@arndb.de>
It appears that a merge conflict ended up hiding a newly added constant
in some configurations:
arch/arm64/kernel/entry-ftrace.S: Assembler messages:
arch/arm64/kernel/entry-ftrace.S:59: Error: undefined symbol FTRACE_OPS_DIRECT_CALL used as an immediate value
FTRACE_OPS_DIRECT_CALL is still used when CONFIG_DYNAMIC_FTRACE_WITH_DIRECT_CALLS
is enabled, even if CONFIG_FUNCTION_GRAPH_TRACER is disabled, so change the
ifdef accordingly.
Fixes: 3646970322464 ("arm64: ftrace: Enable HAVE_FUNCTION_GRAPH_RETVAL")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
arch/arm64/kernel/asm-offsets.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm64/kernel/asm-offsets.c b/arch/arm64/kernel/asm-offsets.c
index 757d01a68ffd0..5ff1942b04fcf 100644
--- a/arch/arm64/kernel/asm-offsets.c
+++ b/arch/arm64/kernel/asm-offsets.c
@@ -213,9 +213,9 @@ int main(void)
DEFINE(FGRET_REGS_X7, offsetof(struct fgraph_ret_regs, regs[7]));
DEFINE(FGRET_REGS_FP, offsetof(struct fgraph_ret_regs, fp));
DEFINE(FGRET_REGS_SIZE, sizeof(struct fgraph_ret_regs));
+#endif
#ifdef CONFIG_DYNAMIC_FTRACE_WITH_DIRECT_CALLS
DEFINE(FTRACE_OPS_DIRECT_CALL, offsetof(struct ftrace_ops, direct_call));
-#endif
#endif
return 0;
}
--
2.39.2
On Fri, Jun 23, 2023 at 05:21:55PM +0200, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@arndb.de>
>
> It appears that a merge conflict ended up hiding a newly added constant
> in some configurations:
>
> arch/arm64/kernel/entry-ftrace.S: Assembler messages:
> arch/arm64/kernel/entry-ftrace.S:59: Error: undefined symbol FTRACE_OPS_DIRECT_CALL used as an immediate value
>
> FTRACE_OPS_DIRECT_CALL is still used when CONFIG_DYNAMIC_FTRACE_WITH_DIRECT_CALLS
> is enabled, even if CONFIG_FUNCTION_GRAPH_TRACER is disabled, so change the
> ifdef accordingly.
>
> Fixes: 3646970322464 ("arm64: ftrace: Enable HAVE_FUNCTION_GRAPH_RETVAL")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
> arch/arm64/kernel/asm-offsets.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/arm64/kernel/asm-offsets.c b/arch/arm64/kernel/asm-offsets.c
> index 757d01a68ffd0..5ff1942b04fcf 100644
> --- a/arch/arm64/kernel/asm-offsets.c
> +++ b/arch/arm64/kernel/asm-offsets.c
> @@ -213,9 +213,9 @@ int main(void)
> DEFINE(FGRET_REGS_X7, offsetof(struct fgraph_ret_regs, regs[7]));
> DEFINE(FGRET_REGS_FP, offsetof(struct fgraph_ret_regs, fp));
> DEFINE(FGRET_REGS_SIZE, sizeof(struct fgraph_ret_regs));
> +#endif
> #ifdef CONFIG_DYNAMIC_FTRACE_WITH_DIRECT_CALLS
> DEFINE(FTRACE_OPS_DIRECT_CALL, offsetof(struct ftrace_ops, direct_call));
> -#endif
> #endif
> return 0;
> }
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Steven, since the fixed commit went in via your tree, could you please
pick this up as well for -rc1? Otherwise I'll queue it for -rc2 once the
ftrace changes turn up in -rc1.
Thanks.
--
Catalin
On Fri, 30 Jun 2023 17:02:39 +0100 Catalin Marinas <catalin.marinas@arm.com> wrote: > > diff --git a/arch/arm64/kernel/asm-offsets.c b/arch/arm64/kernel/asm-offsets.c > > index 757d01a68ffd0..5ff1942b04fcf 100644 > > --- a/arch/arm64/kernel/asm-offsets.c > > +++ b/arch/arm64/kernel/asm-offsets.c > > @@ -213,9 +213,9 @@ int main(void) > > DEFINE(FGRET_REGS_X7, offsetof(struct fgraph_ret_regs, regs[7])); > > DEFINE(FGRET_REGS_FP, offsetof(struct fgraph_ret_regs, fp)); > > DEFINE(FGRET_REGS_SIZE, sizeof(struct fgraph_ret_regs)); > > +#endif > > #ifdef CONFIG_DYNAMIC_FTRACE_WITH_DIRECT_CALLS > > DEFINE(FTRACE_OPS_DIRECT_CALL, offsetof(struct ftrace_ops, direct_call)); > > -#endif > > #endif > > return 0; > > } > > Acked-by: Catalin Marinas <catalin.marinas@arm.com> > > Steven, since the fixed commit went in via your tree, could you please > pick this up as well for -rc1? Otherwise I'll queue it for -rc2 once the > ftrace changes turn up in -rc1. I'm working on a fixes pull request for Linus. I'll apply this to it and start my testing on it. I should have a pull request to Linus before the end of the week. -- Steve
On Fri, Jun 23, 2023 at 5:22 PM Arnd Bergmann <arnd@kernel.org> wrote:
>
> From: Arnd Bergmann <arnd@arndb.de>
>
> It appears that a merge conflict ended up hiding a newly added constant
> in some configurations:
>
> arch/arm64/kernel/entry-ftrace.S: Assembler messages:
> arch/arm64/kernel/entry-ftrace.S:59: Error: undefined symbol FTRACE_OPS_DIRECT_CALL used as an immediate value
>
> FTRACE_OPS_DIRECT_CALL is still used when CONFIG_DYNAMIC_FTRACE_WITH_DIRECT_CALLS
> is enabled, even if CONFIG_FUNCTION_GRAPH_TRACER is disabled, so change the
> ifdef accordingly.
>
> Fixes: 3646970322464 ("arm64: ftrace: Enable HAVE_FUNCTION_GRAPH_RETVAL")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
> arch/arm64/kernel/asm-offsets.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/arm64/kernel/asm-offsets.c b/arch/arm64/kernel/asm-offsets.c
> index 757d01a68ffd0..5ff1942b04fcf 100644
> --- a/arch/arm64/kernel/asm-offsets.c
> +++ b/arch/arm64/kernel/asm-offsets.c
> @@ -213,9 +213,9 @@ int main(void)
> DEFINE(FGRET_REGS_X7, offsetof(struct fgraph_ret_regs, regs[7]));
> DEFINE(FGRET_REGS_FP, offsetof(struct fgraph_ret_regs, fp));
> DEFINE(FGRET_REGS_SIZE, sizeof(struct fgraph_ret_regs));
> +#endif
> #ifdef CONFIG_DYNAMIC_FTRACE_WITH_DIRECT_CALLS
> DEFINE(FTRACE_OPS_DIRECT_CALL, offsetof(struct ftrace_ops, direct_call));
> -#endif
> #endif
> return 0;
> }
> --
> 2.39.2
>
Acked-by: Florent Revest <revest@chromium.org>
Good catch, thank you Arnd!
On 6/23/23 08:35, Florent Revest wrote:
> On Fri, Jun 23, 2023 at 5:22 PM Arnd Bergmann <arnd@kernel.org> wrote:
>>
>> From: Arnd Bergmann <arnd@arndb.de>
>>
>> It appears that a merge conflict ended up hiding a newly added constant
>> in some configurations:
>>
>> arch/arm64/kernel/entry-ftrace.S: Assembler messages:
>> arch/arm64/kernel/entry-ftrace.S:59: Error: undefined symbol FTRACE_OPS_DIRECT_CALL used as an immediate value
>>
>> FTRACE_OPS_DIRECT_CALL is still used when CONFIG_DYNAMIC_FTRACE_WITH_DIRECT_CALLS
>> is enabled, even if CONFIG_FUNCTION_GRAPH_TRACER is disabled, so change the
>> ifdef accordingly.
>>
>> Fixes: 3646970322464 ("arm64: ftrace: Enable HAVE_FUNCTION_GRAPH_RETVAL")
>> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
>> ---
>> arch/arm64/kernel/asm-offsets.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/arch/arm64/kernel/asm-offsets.c b/arch/arm64/kernel/asm-offsets.c
>> index 757d01a68ffd0..5ff1942b04fcf 100644
>> --- a/arch/arm64/kernel/asm-offsets.c
>> +++ b/arch/arm64/kernel/asm-offsets.c
>> @@ -213,9 +213,9 @@ int main(void)
>> DEFINE(FGRET_REGS_X7, offsetof(struct fgraph_ret_regs, regs[7]));
>> DEFINE(FGRET_REGS_FP, offsetof(struct fgraph_ret_regs, fp));
>> DEFINE(FGRET_REGS_SIZE, sizeof(struct fgraph_ret_regs));
>> +#endif
>> #ifdef CONFIG_DYNAMIC_FTRACE_WITH_DIRECT_CALLS
>> DEFINE(FTRACE_OPS_DIRECT_CALL, offsetof(struct ftrace_ops, direct_call));
>> -#endif
>> #endif
>> return 0;
>> }
>> --
>> 2.39.2
>>
>
> Acked-by: Florent Revest <revest@chromium.org>
>
> Good catch, thank you Arnd!
Reviewed-by: Randy Dunlap <rdunlap@infradead.org>
Tested-by: Randy Dunlap <rdunlap@infradead.org> # build-tested
Thanks.
--
~Randy
© 2016 - 2026 Red Hat, Inc.