[PATCH] ARM: start: fix fdt inside valid memory check

Sascha Hauer s.hauer at pengutronix.de
Tue Nov 26 11:21:41 EST 2013


We want to check whether boarddata contains a valid dtb if it's inside
valid memory. This includes the base of SDRAM, so use '>=' instead of '>'.

Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
---
 arch/arm/cpu/start.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/cpu/start.c b/arch/arm/cpu/start.c
index f0a7df3..21c63c0 100644
--- a/arch/arm/cpu/start.c
+++ b/arch/arm/cpu/start.c
@@ -82,7 +82,7 @@ static noinline __noreturn void __start(uint32_t membase, uint32_t memsize,
 	 * If boarddata is a pointer inside valid memory and contains a
 	 * FDT magic then use it as later to probe devices
 	 */
-	if (boarddata > membase && boarddata < membase + memsize &&
+	if (boarddata >= membase && boarddata < membase + memsize &&
 			get_unaligned_be32((void *)boarddata) == FDT_MAGIC) {
 		uint32_t totalsize = get_unaligned_be32((void *)boarddata + 4);
 		endmem -= ALIGN(totalsize, 64);
-- 
1.8.4.2




More information about the barebox mailing list