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@xxxxxxxxxxxxxx> --- 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 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox