[PATCH] arm64: entry: Add SYM_CODE annotation for __bad_stack

Will Deacon will at kernel.org
Fri Aug 6 02:09:07 PDT 2021


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 at 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 at kernel.org>

Will



More information about the linux-arm-kernel mailing list