mail archive of the barebox mailing list
 help / color / mirror / Atom feed
* [PATCH] bootm: abort if kernel is outside the first 128MB
@ 2018-10-28 14:24 Patrick Boettcher
  2018-10-29 11:55 ` Sascha Hauer
  0 siblings, 1 reply; 3+ messages in thread
From: Patrick Boettcher @ 2018-10-28 14:24 UTC (permalink / raw)
  To: barebox; +Cc: Patrick Boettcher

Huge images and the pessimistic approach of barebox to put the
kernel-image at five times its size may lead to it being
positioned not in the first 128MiB of RAM. This is however
required for it to be boot. (Referring to

  https://www.kernel.org/doc/Documentation/arm/Booting

"Calling the kernel image")

This commit aborts the boot and displays a message if the
image is located outside the first 128MB.

Signed-off-by: Patrick Boettcher <p@yai.se>
---
 arch/arm/lib32/bootm.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/arch/arm/lib32/bootm.c b/arch/arm/lib32/bootm.c
index 4cf570e57..42febdc71 100644
--- a/arch/arm/lib32/bootm.c
+++ b/arch/arm/lib32/bootm.c
@@ -121,6 +121,12 @@ static int get_kernel_addresses(size_t image_size,
 		spacing += image_decomp_size;
 	}
 
+	if ((*load_address - mem_start) > SZ_128M) {
+		printf("boot aborted: kernel address outside 128MiB "
+		       "(0x%08lx)\n", *load_address);
+		return -ENOMEM;
+	}
+
 	*mem_free = PAGE_ALIGN(*load_address + image_size + spacing);
 
 	/*
-- 
2.19.1


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

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

end of thread, other threads:[~2018-10-29 13:25 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-10-28 14:24 [PATCH] bootm: abort if kernel is outside the first 128MB Patrick Boettcher
2018-10-29 11:55 ` Sascha Hauer
2018-10-29 13:24   ` Patrick Boettcher

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