[U-Boot] [RESEND PATCH v2 1/2] imx: mx7: fix potential overflow in imx_ddr_size()

Stefano Babic sbabic at denx.de
Tue Oct 16 08:06:26 UTC 2018


Hi Marcel,

On 16/10/2018 08:46, Marcel Ziswiler wrote:
> From: Marcel Ziswiler <marcel.ziswiler at toradex.com>
> 
> The imx_ddr_size() function may overflow as it is possible to kind of
> over provision the DDR controller. Fix this by capping it to 2 GB which
> is the maximum allowed size as per reference manual.
> 
> Signed-off-by: Marcel Ziswiler <marcel.ziswiler at toradex.com>
> Reviewed-by: Fabio Estevam <fabio.estevam at nxp.com>
> 
> ---
> 
> Changes in v2: None
> 
>  arch/arm/mach-imx/mx7/ddr.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/arch/arm/mach-imx/mx7/ddr.c b/arch/arm/mach-imx/mx7/ddr.c
> index f19aeb8042..9713835bf2 100644
> --- a/arch/arm/mach-imx/mx7/ddr.c
> +++ b/arch/arm/mach-imx/mx7/ddr.c
> @@ -196,5 +196,9 @@ unsigned int imx_ddr_size(void)
>  	if (field_val <= 29)
>  		bits++;
>  
> +	/* cap to max 2 GB */
> +	if (bits > 31)
> +		bits = 31;
> +
>  	return 1 << bits;
>  }
> 

This is a good catch, thanks for it ! The two patches in V2 (the second
for colibri) are already in my list. Does this mean that you want I drop
"colibri_imx7: prime get_ram_size() using imx_ddr_size() " ?

Thanks,
Stefano

-- 
=====================================================================
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================


More information about the U-Boot mailing list