summaryrefslogtreecommitdiff
path: root/arch/arm/kernel/entry-v7m.S
diff options
context:
space:
mode:
authorNicolas Pitre <nicolas.pitre@linaro.org>2015-01-27 18:10:42 +0300
committerRussell King <rmk+kernel@arm.linux.org.uk>2015-01-29 18:23:01 +0300
commitc2607f74aad96d18316a6e709b40e0ffe9def148 (patch)
tree7ca8b21b5631d9fe31faa075544cfe1c26db5f3f /arch/arm/kernel/entry-v7m.S
parentc2273a185354fe9420fb342b1ca09a6fed857fb3 (diff)
downloadlinux-c2607f74aad96d18316a6e709b40e0ffe9def148.tar.xz
ARM: 8294/1: ATAG_DTB_COMPAT: remove the DT workspace's hardcoded 64KB size
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>
Diffstat (limited to 'arch/arm/kernel/entry-v7m.S')
0 files changed, 0 insertions, 0 deletions