Thread (20 messages) flat view 20 messages, 6 authors, 2015-02-02

N900 v3.19-rc5 arm atags_to_fdt.c is broken

From: Pavel Machek <hidden>
Date: 2015-01-23 23:49:01
Also in: linux-omap, lkml

On Fri 2015-01-23 23:36:36, Pali Roh?r wrote:
On Friday 23 January 2015 22:39:55 Pali Roh?r wrote:
quoted
Hello,

when I boot zImage with appended DT n900 in qemu
fdt_open_into() function called from file
arch/arm/boot/compressed/atags_to_fdt.c (in function
atags_to_fdt) always returns -FDT_ERR_NOSPACE.

It means that all ATAGS (including cmdline arguments) passed
by bootloader are ignored.

On real n900 device I see that booted DT version also ignore
cmdline arguments from bootloader. I cannot debug decompress
code on real device, but I think it is same problem as in
qemu.
Looks like this quick patch is fixing above problem:
So... something overruns stack, and bigger stack fixes it...?

							Pavel
quoted hunk ↗ jump to hunk
diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S
index 68be901..4a7d75b 100644
--- a/arch/arm/boot/compressed/head.S
+++ b/arch/arm/boot/compressed/head.S
@@ -268,7 +268,7 @@ restart:	adr	r0, LC0
 		 * area.  No GOT fixup has occurred yet, but none of the
 		 * code we're about to call uses any global variable.
 		*/
-		add	sp, sp, #0x10000
+		add	sp, sp, #0x20000
 		stmfd	sp!, {r0-r3, ip, lr}
 		mov	r0, r8
 		mov	r1, r6
@@ -289,7 +289,7 @@ restart:	adr	r0, LC0
 		bleq	atags_to_fdt
 
 		ldmfd	sp!, {r0-r3, ip, lr}
-		sub	sp, sp, #0x10000
+		sub	sp, sp, #0x20000
 #endif
 
 		mov	r8, r6			@ use the appended device tree


-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help