From: Linus Torvalds Date: Mon, 9 Apr 2018 16:19:30 +0000 (-0700) Subject: Merge branch 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm X-Git-Tag: v4.17-rc1~75 X-Git-Url: https://repo.jachan.dev/linux.git/commitdiff_plain/4a1e00524cbdd38567e36f9c54a0444deebd864a?hp=-c Merge branch 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm Pull ARM updates from Russell King: "A number of core ARM changes: - Refactoring linker script by Nicolas Pitre - Enable source fortification - Add support for Cortex R8" * 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm: ARM: decompressor: fix warning introduced in fortify patch ARM: 8751/1: Add support for Cortex-R8 processor ARM: 8749/1: Kconfig: Add ARCH_HAS_FORTIFY_SOURCE ARM: simplify and fix linker script for TCM ARM: linker script: factor out TCM bits ARM: linker script: factor out vectors and stubs ARM: linker script: factor out unwinding table sections ARM: linker script: factor out stuff for the .text section ARM: linker script: factor out stuff for the DISCARD section ARM: linker script: factor out some common definitions between XIP and non-XIP --- 4a1e00524cbdd38567e36f9c54a0444deebd864a diff --combined arch/arm/Kconfig index 1878083771af,3765336e5ec6..a7f8e7f4b88f --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@@ -7,6 -7,7 +7,7 @@@ config AR select ARCH_HAS_DEBUG_VIRTUAL if MMU select ARCH_HAS_DEVMEM_IS_ALLOWED select ARCH_HAS_ELF_RANDOMIZE + select ARCH_HAS_FORTIFY_SOURCE select ARCH_HAS_SET_MEMORY select ARCH_HAS_PHYS_TO_DMA select ARCH_HAS_STRICT_KERNEL_RWX if MMU && !XIP_KERNEL @@@ -709,6 -710,8 +710,6 @@@ config ARCH_VIR # Kconfigs may be included either alphabetically (according to the # plat- suffix) or along side the corresponding mach-* source. # -source "arch/arm/mach-mvebu/Kconfig" - source "arch/arm/mach-actions/Kconfig" source "arch/arm/mach-alpine/Kconfig" @@@ -717,8 -720,6 +718,8 @@@ source "arch/arm/mach-artpec/Kconfig source "arch/arm/mach-asm9260/Kconfig" +source "arch/arm/mach-aspeed/Kconfig" + source "arch/arm/mach-at91/Kconfig" source "arch/arm/mach-axxia/Kconfig" @@@ -739,9 -740,6 +740,9 @@@ source "arch/arm/mach-dove/Kconfig source "arch/arm/mach-ep93xx/Kconfig" +source "arch/arm/mach-exynos/Kconfig" +source "arch/arm/plat-samsung/Kconfig" + source "arch/arm/mach-footbridge/Kconfig" source "arch/arm/mach-gemini/Kconfig" @@@ -750,33 -748,31 +751,33 @@@ source "arch/arm/mach-highbank/Kconfig source "arch/arm/mach-hisi/Kconfig" +source "arch/arm/mach-imx/Kconfig" + source "arch/arm/mach-integrator/Kconfig" +source "arch/arm/mach-iop13xx/Kconfig" + source "arch/arm/mach-iop32x/Kconfig" source "arch/arm/mach-iop33x/Kconfig" -source "arch/arm/mach-iop13xx/Kconfig" - source "arch/arm/mach-ixp4xx/Kconfig" source "arch/arm/mach-keystone/Kconfig" source "arch/arm/mach-ks8695/Kconfig" +source "arch/arm/mach-mediatek/Kconfig" + source "arch/arm/mach-meson/Kconfig" -source "arch/arm/mach-moxart/Kconfig" +source "arch/arm/mach-mmp/Kconfig" -source "arch/arm/mach-aspeed/Kconfig" +source "arch/arm/mach-moxart/Kconfig" source "arch/arm/mach-mv78xx0/Kconfig" -source "arch/arm/mach-imx/Kconfig" - -source "arch/arm/mach-mediatek/Kconfig" +source "arch/arm/mach-mvebu/Kconfig" source "arch/arm/mach-mxs/Kconfig" @@@ -784,8 -780,6 +785,8 @@@ source "arch/arm/mach-netx/Kconfig source "arch/arm/mach-nomadik/Kconfig" +source "arch/arm/mach-npcm/Kconfig" + source "arch/arm/mach-nspire/Kconfig" source "arch/arm/plat-omap/Kconfig" @@@ -796,31 -790,23 +797,31 @@@ source "arch/arm/mach-omap2/Kconfig source "arch/arm/mach-orion5x/Kconfig" +source "arch/arm/mach-oxnas/Kconfig" + source "arch/arm/mach-picoxcell/Kconfig" +source "arch/arm/mach-prima2/Kconfig" + source "arch/arm/mach-pxa/Kconfig" source "arch/arm/plat-pxa/Kconfig" -source "arch/arm/mach-mmp/Kconfig" - -source "arch/arm/mach-oxnas/Kconfig" - source "arch/arm/mach-qcom/Kconfig" source "arch/arm/mach-realview/Kconfig" source "arch/arm/mach-rockchip/Kconfig" +source "arch/arm/mach-s3c24xx/Kconfig" + +source "arch/arm/mach-s3c64xx/Kconfig" + +source "arch/arm/mach-s5pv210/Kconfig" + source "arch/arm/mach-sa1100/Kconfig" +source "arch/arm/mach-shmobile/Kconfig" + source "arch/arm/mach-socfpga/Kconfig" source "arch/arm/mach-spear/Kconfig" @@@ -829,8 -815,21 +830,8 @@@ source "arch/arm/mach-sti/Kconfig source "arch/arm/mach-stm32/Kconfig" -source "arch/arm/mach-s3c24xx/Kconfig" - -source "arch/arm/mach-s3c64xx/Kconfig" - -source "arch/arm/mach-s5pv210/Kconfig" - -source "arch/arm/mach-exynos/Kconfig" -source "arch/arm/plat-samsung/Kconfig" - -source "arch/arm/mach-shmobile/Kconfig" - source "arch/arm/mach-sunxi/Kconfig" -source "arch/arm/mach-prima2/Kconfig" - source "arch/arm/mach-tango/Kconfig" source "arch/arm/mach-tegra/Kconfig" diff --combined arch/arm/boot/compressed/misc.c index e8fe51f4e97a,79f56c5a9fe5..e1e9a5dde853 --- a/arch/arm/boot/compressed/misc.c +++ b/arch/arm/boot/compressed/misc.c @@@ -22,9 -22,9 +22,9 @@@ unsigned int __machine_arch_type #include /* for inline */ #include #include + #include "misc.h" static void putstr(const char *ptr); - extern void error(char *x); #include CONFIG_UNCOMPRESS_INCLUDE @@@ -128,7 -128,12 +128,7 @@@ asmlinkage void __div0(void error("Attempting division by 0!"); } -unsigned long __stack_chk_guard; - -void __stack_chk_guard_setup(void) -{ - __stack_chk_guard = 0x000a0dff; -} +const unsigned long __stack_chk_guard = 0x000a0dff; void __stack_chk_fail(void) { @@@ -145,6 -150,8 +145,6 @@@ decompress_kernel(unsigned long output_ { int ret; - __stack_chk_guard_setup(); - output_data = (unsigned char *)output_start; free_mem_ptr = free_mem_ptr_p; free_mem_end_ptr = free_mem_ptr_end_p; @@@ -160,3 -167,8 +160,8 @@@ else putstr(" done, booting the kernel.\n"); } + + void fortify_panic(const char *name) + { + error("detected buffer overflow"); + }