diff mbox series

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

Message ID 20180919110156.6888-1-marcel@ziswiler.com
State Superseded
Delegated to: Stefano Babic
Headers show
Series [U-Boot,1/2] imx: mx7: fix potential overflow in imx_ddr_size() | expand

Commit Message

Marcel Ziswiler Sept. 19, 2018, 11:01 a.m. UTC
From: Marcel Ziswiler <marcel.ziswiler@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@toradex.com>

--

 arch/arm/mach-imx/mx7/ddr.c | 4 ++++
 1 file changed, 4 insertions(+)

Comments

Fabio Estevam Sept. 19, 2018, 12:08 p.m. UTC | #1
Hi Marcel,

On Wed, Sep 19, 2018 at 8:01 AM, Marcel Ziswiler <marcel@ziswiler.com> wrote:
> From: Marcel Ziswiler <marcel.ziswiler@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@toradex.com>

Looks good, thanks:

Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
diff mbox series

Patch

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;
 }