diff mbox series

arm64: entry: Add SYM_CODE annotation for __bad_stack

Message ID 20210804181710.19059-1-broonie@kernel.org (mailing list archive)
State New, archived
Headers show
Series arm64: entry: Add SYM_CODE annotation for __bad_stack | expand

Commit Message

Mark Brown Aug. 4, 2021, 6:17 p.m. UTC
When converting arm64 to modern assembler annotations __bad_stack was left
as a raw local label without annotations. While this will have little if
any practical impact at present it may cause issues in the future if we
start using the annotations for things like reliable stack trace. Add
SYM_CODE annotations to fix this.

Signed-off-by: Mark Brown <broonie@kernel.org>
---
 arch/arm64/kernel/entry.S | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Comments

Will Deacon Aug. 6, 2021, 9:09 a.m. UTC | #1
On Wed, Aug 04, 2021 at 07:17:10PM +0100, Mark Brown wrote:
> When converting arm64 to modern assembler annotations __bad_stack was left
> as a raw local label without annotations. While this will have little if
> any practical impact at present it may cause issues in the future if we
> start using the annotations for things like reliable stack trace. Add
> SYM_CODE annotations to fix this.
> 
> Signed-off-by: Mark Brown <broonie@kernel.org>
> ---
>  arch/arm64/kernel/entry.S | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/arm64/kernel/entry.S b/arch/arm64/kernel/entry.S
> index 923ee2ac85fd..572f72f20646 100644
> --- a/arch/arm64/kernel/entry.S
> +++ b/arch/arm64/kernel/entry.S
> @@ -535,12 +535,13 @@ SYM_CODE_START(vectors)
>  SYM_CODE_END(vectors)
>  
>  #ifdef CONFIG_VMAP_STACK
> +SYM_CODE_START_LOCAL(__bad_stack)
>  	/*
>  	 * We detected an overflow in kernel_ventry, which switched to the
>  	 * overflow stack. Stash the exception regs, and head to our overflow
>  	 * handler.
>  	 */
> -__bad_stack:
> +
>  	/* Restore the original x0 value */
>  	mrs	x0, tpidrro_el0
>  
> @@ -560,6 +561,7 @@ __bad_stack:
>  	/* Time to die */
>  	bl	handle_bad_stack
>  	ASM_BUG()
> +SYM_CODE_END(__bad_stack)
>  #endif /* CONFIG_VMAP_STACK */

Acked-by: Will Deacon <will@kernel.org>

Will
Catalin Marinas Aug. 6, 2021, 4:04 p.m. UTC | #2
On Wed, 4 Aug 2021 19:17:10 +0100, Mark Brown wrote:
> When converting arm64 to modern assembler annotations __bad_stack was left
> as a raw local label without annotations. While this will have little if
> any practical impact at present it may cause issues in the future if we
> start using the annotations for things like reliable stack trace. Add
> SYM_CODE annotations to fix this.

Applied to arm64 (for-next/misc), thanks!

[1/1] arm64: entry: Add SYM_CODE annotation for __bad_stack
      https://git.kernel.org/arm64/c/ede3241a5f23
diff mbox series

Patch

diff --git a/arch/arm64/kernel/entry.S b/arch/arm64/kernel/entry.S
index 923ee2ac85fd..572f72f20646 100644
--- a/arch/arm64/kernel/entry.S
+++ b/arch/arm64/kernel/entry.S
@@ -535,12 +535,13 @@  SYM_CODE_START(vectors)
 SYM_CODE_END(vectors)
 
 #ifdef CONFIG_VMAP_STACK
+SYM_CODE_START_LOCAL(__bad_stack)
 	/*
 	 * We detected an overflow in kernel_ventry, which switched to the
 	 * overflow stack. Stash the exception regs, and head to our overflow
 	 * handler.
 	 */
-__bad_stack:
+
 	/* Restore the original x0 value */
 	mrs	x0, tpidrro_el0
 
@@ -560,6 +561,7 @@  __bad_stack:
 	/* Time to die */
 	bl	handle_bad_stack
 	ASM_BUG()
+SYM_CODE_END(__bad_stack)
 #endif /* CONFIG_VMAP_STACK */