public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] [RESEND PATCH v2 1/2] imx: mx7: fix potential overflow in imx_ddr_size()
@ 2018-10-16  6:46 Marcel Ziswiler
  2018-10-16  6:46 ` [U-Boot] [RESEND PATCH v2 2/2] colibri_imx7: prime get_ram_size() using imx_ddr_size() Marcel Ziswiler
  2018-10-16  8:06 ` [U-Boot] [RESEND PATCH v2 1/2] imx: mx7: fix potential overflow in imx_ddr_size() Stefano Babic
  0 siblings, 2 replies; 6+ messages in thread
From: Marcel Ziswiler @ 2018-10-16  6:46 UTC (permalink / raw)
  To: u-boot

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>
Reviewed-by: Fabio Estevam <fabio.estevam@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;
 }
-- 
2.14.4

^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2018-10-16  8:42 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-10-16  6:46 [U-Boot] [RESEND PATCH v2 1/2] imx: mx7: fix potential overflow in imx_ddr_size() Marcel Ziswiler
2018-10-16  6:46 ` [U-Boot] [RESEND PATCH v2 2/2] colibri_imx7: prime get_ram_size() using imx_ddr_size() Marcel Ziswiler
2018-10-16  8:06 ` [U-Boot] [RESEND PATCH v2 1/2] imx: mx7: fix potential overflow in imx_ddr_size() Stefano Babic
2018-10-16  8:25   ` Marcel Ziswiler
2018-10-16  8:37     ` Stefano Babic
2018-10-16  8:42       ` Marcel Ziswiler

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox