[PATCH] ARM: stacktrace: include asm/sections.h in asm/stacktrace.h

Arnd Bergmann posted 1 patch 1 month, 4 weeks ago
arch/arm/include/asm/stacktrace.h | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
[PATCH] ARM: stacktrace: include asm/sections.h in asm/stacktrace.h
Posted by Arnd Bergmann 1 month, 4 weeks ago
From: Arnd Bergmann <arnd@arndb.de>

The recent kstack erase changes appear to have uncovered an existing
issue with a missing header inclusion:

In file included from drivers/misc/lkdtm/kstack_erase.c:12:
In file included from include/linux/kstack_erase.h:16:
arch/arm/include/asm/stacktrace.h:48:21: error: call to undeclared function 'in_entry_text'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
   48 |                 frame->ex_frame = in_entry_text(frame->pc);
      |                                   ^

Include asm/sections.h here so the compiler can see the in_entry_text()
declaration.

Fixes: 752ec621ef5c ("ARM: 9234/1: stacktrace: Avoid duplicate saving of exception PC value")
Cc: Kees Cook <kees@kernel.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 arch/arm/include/asm/stacktrace.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/arch/arm/include/asm/stacktrace.h b/arch/arm/include/asm/stacktrace.h
index f80a85b091d6..ba2f771cca23 100644
--- a/arch/arm/include/asm/stacktrace.h
+++ b/arch/arm/include/asm/stacktrace.h
@@ -2,8 +2,9 @@
 #ifndef __ASM_STACKTRACE_H
 #define __ASM_STACKTRACE_H
 
-#include <asm/ptrace.h>
 #include <linux/llist.h>
+#include <asm/ptrace.h>
+#include <asm/sections.h>
 
 struct stackframe {
 	/*
-- 
2.39.5
Re: [PATCH] ARM: stacktrace: include asm/sections.h in asm/stacktrace.h
Posted by Kees Cook 1 month, 1 week ago
On Thu, 07 Aug 2025 09:18:58 +0200, Arnd Bergmann wrote:
> The recent kstack erase changes appear to have uncovered an existing
> issue with a missing header inclusion:
> 
> In file included from drivers/misc/lkdtm/kstack_erase.c:12:
> In file included from include/linux/kstack_erase.h:16:
> arch/arm/include/asm/stacktrace.h:48:21: error: call to undeclared function 'in_entry_text'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
>    48 |                 frame->ex_frame = in_entry_text(frame->pc);
>       |                                   ^
> 
> [...]

Applied to for-linus/hardening, thanks!

[1/1] ARM: stacktrace: include asm/sections.h in asm/stacktrace.h
      https://git.kernel.org/kees/c/f05995cc6d3b

Take care,

-- 
Kees Cook
Re: [PATCH] ARM: stacktrace: include asm/sections.h in asm/stacktrace.h
Posted by Linus Walleij 1 month, 2 weeks ago
On Thu, Aug 7, 2025 at 9:19 AM Arnd Bergmann <arnd@kernel.org> wrote:

> From: Arnd Bergmann <arnd@arndb.de>
>
> The recent kstack erase changes appear to have uncovered an existing
> issue with a missing header inclusion:
>
> In file included from drivers/misc/lkdtm/kstack_erase.c:12:
> In file included from include/linux/kstack_erase.h:16:
> arch/arm/include/asm/stacktrace.h:48:21: error: call to undeclared function 'in_entry_text'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
>    48 |                 frame->ex_frame = in_entry_text(frame->pc);
>       |                                   ^
>
> Include asm/sections.h here so the compiler can see the in_entry_text()
> declaration.
>
> Fixes: 752ec621ef5c ("ARM: 9234/1: stacktrace: Avoid duplicate saving of exception PC value")
> Cc: Kees Cook <kees@kernel.org>
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

Looks like the correct fix to me:

Reviewed-by: Linus Walleij <linus.walleij@linaro.org>

Yours,
Linus Walleij