[U-Boot] [PATCH] spl: fix the new position of gd and stack

Donglin Peng dolinux.peng at gmail.com
Thu Dec 27 14:58:27 UTC 2018


On Tue, Oct 30, 2018 at 4:20 PM Peng Donglin <dolinux.peng at gmail.com> wrote:
>
> If we enable CONFIG_SPL_SYS_MALLOC_SIMPLE and set
> CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN, the new gd and stack
> will inside malloc area,so there is a overwrite risk.
>
> We can place the new position of gd and stack under the malloc
> area to fix this issue.
>
> Signed-off-by: Peng Donglin <dolinux.peng at gmail.com>
> ---
>  common/spl/spl.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/common/spl/spl.c b/common/spl/spl.c
> index 292e659c9a..e85a153869 100644
> --- a/common/spl/spl.c
> +++ b/common/spl/spl.c
> @@ -628,7 +628,7 @@ ulong spl_relocate_stack_gd(void)
>         }
>  #endif
>         /* Get stack position: use 8-byte alignment for ABI compliance */
> -       ptr = CONFIG_SPL_STACK_R_ADDR - roundup(sizeof(gd_t),16);
> +       ptr -= roundup(sizeof(gd_t), 16);
>         new_gd = (gd_t *)ptr;
>         memcpy(new_gd, (void *)gd, sizeof(gd_t));
>  #if CONFIG_IS_ENABLED(DM)
> --
> 2.17.1
>

any suggestion?


More information about the U-Boot mailing list