[U-Boot] [PATCH] x86: fix memalign() parameter order

Bin Meng bmeng.cn at gmail.com
Sun Feb 14 04:18:55 CET 2016


Hi Stephen,

On Sat, Feb 13, 2016 at 5:27 AM, Stephen Warren <swarren at wwwdotorg.org> wrote:
> From: Stephen Warren <swarren at nvidia.com>
>
> Purely by code inspection, it looks like the parameter order to memalign()
> is swapped; its parameters are (align, size). 4096 is a likely desired
> alignment, and a variable named size sounds like a size:-)
>

Good catch! It was lucky that this did not corrupt any important data before ..

> Fixes: 45b5a37836d5 ("x86: Add multi-processor init")
> Signed-off-by: Stephen Warren <swarren at nvidia.com>
> ---

Reviewed-by: Bin Meng <bmeng.cn at gmail.com>

> I've taken a quick look at all the other memalign() calls in U-Boot, and
> I /think/ they're all correct.
> ---
>  arch/x86/cpu/mp_init.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/x86/cpu/mp_init.c b/arch/x86/cpu/mp_init.c
> index 7917350bff26..fc2fb5bf445c 100644
> --- a/arch/x86/cpu/mp_init.c
> +++ b/arch/x86/cpu/mp_init.c
> @@ -243,7 +243,7 @@ static int load_sipi_vector(atomic_t **ap_countp, int num_cpus)
>
>         params->stack_size = CONFIG_AP_STACK_SIZE;
>         size = params->stack_size * num_cpus;
> -       stack = memalign(size, 4096);
> +       stack = memalign(4096, size);
>         if (!stack)
>                 return -ENOMEM;
>         params->stack_top = (u32)(stack + size);
> --

Regards,
Bin


More information about the U-Boot mailing list