forked from Minki/linux
c2607f74aa
There is currently a hardcoded limit of 64KB for the DTB to live in and be extended with ATAG info. Some DTBs have outgrown that limit: $ du -b arch/arm/boot/dts/omap3-n900.dtb 70212 arch/arm/boot/dts/omap3-n900.dtb Furthermore, the actual size passed to atags_to_fdt() included the stack size which is obviously wrong. The initial DTB size is known, so use it to size the allocated workspace with a 50% growth assumption and relocate the temporary stack above that. This is also clamped to 32KB min / 1MB max for robustness against bad DTB data. Reported-by: Pali Rohár <pali.rohar@gmail.com> Tested-by: Pavel Machek <pavel@ucw.cz> Signed-off-by: Nicolas Pitre <nico@linaro.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> |
||
---|---|---|
.. | ||
.gitignore | ||
atags_to_fdt.c | ||
big-endian.S | ||
debug.S | ||
decompress.c | ||
head-sa1100.S | ||
head-sharpsl.S | ||
head-shmobile.S | ||
head-xscale.S | ||
head.S | ||
libfdt_env.h | ||
ll_char_wr.S | ||
Makefile | ||
misc.c | ||
mmcif-sh7372.c | ||
piggy.gzip.S | ||
piggy.lz4.S | ||
piggy.lzma.S | ||
piggy.lzo.S | ||
piggy.xzkern.S | ||
sdhi-sh7372.c | ||
sdhi-shmobile.c | ||
sdhi-shmobile.h | ||
string.c | ||
vmlinux.lds.S |