[PATCH] common: spl: Warn about overflow of SRAM stack

Tom Rini trini at konsulko.com
Wed Jun 7 18:55:04 CEST 2023


On Wed, Jun 07, 2023 at 09:58:41AM +0530, Vignesh Raghavendra wrote:
> If early stack usage is exactly same as SIZE_LIMIT_PROVIDE_STACK, then
> its most likely to have overflowed beyond this limit and corrupted any
> regions beyond stack. Warn about this to the user.
> 
> Signed-off-by: Vignesh Raghavendra <vigneshr at ti.com>
> ---
> 
> I found this useful when debugging slient corruption of code/data leading
> to random failures post relocation.
> 
>  common/spl/spl.c | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/common/spl/spl.c b/common/spl/spl.c
> index 72078a8ebc8e..9a9c8fad7673 100644
> --- a/common/spl/spl.c
> +++ b/common/spl/spl.c
> @@ -950,6 +950,13 @@ __weak void spl_relocate_stack_check(void)
>  	}
>  	printf("SPL initial stack usage: %lu bytes\n",
>  	       CONFIG_VAL(SIZE_LIMIT_PROVIDE_STACK) - i);
> +
> +	/*
> +	 * If we used up all of the SIZE_LIMIT_PROVIDE_STACK, then here is high
> +	 * possibility of stack overflow, warn the user accordingly
> +	 */
> +	if (!i)
> +		printf("SPL possible initial stack overflow detected!!\n");
>  #endif

Since we're already inside of CONFIG_SPL_SYS_REPORT_STACK_F_USAGE being
enabled, we should rework the previous print to include something like
"%lu bytes free".

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20230607/f742bceb/attachment.sig>


More information about the U-Boot mailing list