From: Norbert van Bolhuis Date: Fri, 19 Mar 2010 14:34:25 +0000 (+0100) Subject: ppc: unused memory region too close to current stack pointer X-Git-Tag: v2010.06-rc1~63 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=3882d7a5a57eb8d1f41570522445bab61c628e6f;p=oweals%2Fu-boot.git ppc: unused memory region too close to current stack pointer This avoids a possible overwrite of the (end of) ramdisk by u-boot. The unused memory region for ppc boot currently starts 1k below the do_bootm->bootm_start->arch_lmb_reserve stack ptr. This isn't enough since do_bootm->do_bootm_linux->boot_relocate_fdt calls printf which may very well use more than 1k stack space. Signed-off-by: Norbert van Bolhuis --- diff --git a/arch/powerpc/lib/bootm.c b/arch/powerpc/lib/bootm.c index 0685a9331c..6702df51a5 100644 --- a/arch/powerpc/lib/bootm.c +++ b/arch/powerpc/lib/bootm.c @@ -163,8 +163,8 @@ void arch_lmb_reserve(struct lmb *lmb) sp = get_sp(); debug ("## Current stack ends at 0x%08lx\n", sp); - /* adjust sp by 1K to be safe */ - sp -= 1024; + /* adjust sp by 4K to be safe */ + sp -= 4096; lmb_reserve(lmb, sp, (CONFIG_SYS_SDRAM_BASE + get_effective_memsize() - sp)); return ;