aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrey Konovalov <andrey.konovalov@linaro.org>2015-07-08 18:49:31 +0300
committerAndrey Konovalov <andrey.konovalov@linaro.org>2015-07-08 18:49:31 +0300
commitb6ef4326f389df0c2f0b6e9fcbb0ee23456a806c (patch)
tree31d839fb75914ecc72f98bf31df862b795ae3b1b
parent5a30e3b00a1f239d94ee96cc01e5e8c37fdf4bd6 (diff)
parentcc855a32edfe24e3fadd0f21c0cb1edac095d641 (diff)
downloadleg-kernel-b6ef4326f389df0c2f0b6e9fcbb0ee23456a806c.tar.gz
Merge branch 'tracking-llct-misc-fixes' into merge-linux-linaro-core-tracking
-rw-r--r--Makefile2
-rw-r--r--drivers/of/fdt.c10
2 files changed, 10 insertions, 2 deletions
diff --git a/Makefile b/Makefile
index 13270c0a9336..b36dbea43f82 100644
--- a/Makefile
+++ b/Makefile
@@ -646,6 +646,7 @@ ifdef CONFIG_CC_STACKPROTECTOR_REGULAR
ifeq ($(call cc-option, $(stackp-flag)),)
$(warning Cannot use CONFIG_CC_STACKPROTECTOR_REGULAR: \
-fstack-protector not supported by compiler)
+ stackp-flag :=
endif
else
ifdef CONFIG_CC_STACKPROTECTOR_STRONG
@@ -653,6 +654,7 @@ ifdef CONFIG_CC_STACKPROTECTOR_STRONG
ifeq ($(call cc-option, $(stackp-flag)),)
$(warning Cannot use CONFIG_CC_STACKPROTECTOR_STRONG: \
-fstack-protector-strong not supported by compiler)
+ stackp-flag :=
endif
else
# Force off for distro compilers that enable stack protector by default.
diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c
index 07496560e5b9..53f8c828265d 100644
--- a/drivers/of/fdt.c
+++ b/drivers/of/fdt.c
@@ -28,6 +28,12 @@
#include <asm/setup.h> /* for COMMAND_LINE_SIZE */
#include <asm/page.h>
+#ifdef CONFIG_ARM64
+#define fdt_crc_size_hack(_s) min(fdt_totalsize(_s),(unsigned)0x200000)
+#else
+#define fdt_crc_size_hack(_s) fdt_totalsize(_s)
+#endif
+
/*
* of_fdt_limit_memory - limit the number of regions in the /memory node
* @limit: maximum entries
@@ -1059,7 +1065,7 @@ bool __init early_init_dt_verify(void *params)
/* Setup flat device-tree pointer */
initial_boot_params = params;
of_fdt_crc32 = crc32_be(~0, initial_boot_params,
- fdt_totalsize(initial_boot_params));
+ fdt_crc_size_hack(initial_boot_params));
return true;
}
@@ -1155,7 +1161,7 @@ static int __init of_fdt_raw_init(void)
return 0;
if (of_fdt_crc32 != crc32_be(~0, initial_boot_params,
- fdt_totalsize(initial_boot_params))) {
+ fdt_crc_size_hack(initial_boot_params))) {
pr_warn("fdt: not creating '/sys/firmware/fdt': CRC check failed\n");
return 0;
}