linux/arch/arm
Kees Cook 1e6b48116a ARM: mm: allow non-text sections to be non-executable
Adds CONFIG_ARM_KERNMEM_PERMS to separate the kernel memory regions
into section-sized areas that can have different permisions. Performs
the NX permission changes during free_initmem, so that init memory can be
reclaimed.

This uses section size instead of PMD size to reduce memory lost to
padding on non-LPAE systems.

Based on work by Brad Spengler, Larry Bassel, and Laura Abbott.

Signed-off-by: Kees Cook <keescook@chromium.org>
Tested-by: Laura Abbott <lauraa@codeaurora.org>
Acked-by: Nicolas Pitre <nico@linaro.org>
2014-10-16 14:38:54 -07:00
..
boot ARM: SoC fixes for 3.17 2014-09-27 14:58:59 -07:00
common ARM: edma: Fix configuration parsing for SoCs with multiple eDMA3 CC 2014-08-26 14:49:15 +05:30
configs ARM: SoC defconfig updates for 3.17 2014-08-08 11:35:11 -07:00
crypto Merge branch 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm 2014-08-05 10:05:29 -07:00
firmware
include arm: use fixmap for text patching when text is RO 2014-10-16 14:38:53 -07:00
kernel ARM: mm: allow non-text sections to be non-executable 2014-10-16 14:38:54 -07:00
kvm arm/arm64: KVM: Complete WFI/WFE instructions 2014-08-29 11:53:53 +02:00
lib ARM: 8137/1: fix get_user BE behavior for target variable with size of 8 bytes 2014-09-12 17:38:59 +01:00
mach-at91 ARM: at91: rm9200: fix clock registration 2014-09-05 17:35:47 +02:00
mach-axxia
mach-bcm ARM: brcmstb: revert SMP support 2014-08-25 18:46:31 -07:00
mach-berlin Berlin SoC changes for v3.17 2014-07-07 22:42:24 -07:00
mach-clps711x ARM: SoC cleanups for 3.17 2014-08-08 11:00:26 -07:00
mach-cns3xxx
mach-davinci ARM: convert all "mov.* pc, reg" to "bx reg" for ARMv6+ 2014-07-18 12:29:04 +01:00
mach-dove
mach-ebsa110 ARM: 8113/1: remove remaining definitions of PLAT_PHYS_OFFSET from <mach/memory.h> 2014-07-29 23:08:52 +01:00
mach-efm32
mach-ep93xx ARM: 8113/1: remove remaining definitions of PLAT_PHYS_OFFSET from <mach/memory.h> 2014-07-29 23:08:52 +01:00
mach-exynos ARM: 8129/1: errata: work around Cortex-A15 erratum 830321 using dummy strex 2014-08-27 15:40:13 +01:00
mach-footbridge ARM: 8113/1: remove remaining definitions of PLAT_PHYS_OFFSET from <mach/memory.h> 2014-07-29 23:08:52 +01:00
mach-gemini
mach-highbank PM / OPP: Remove ARCH_HAS_OPP 2014-07-23 00:51:30 +02:00
mach-hisi ARM: hisi: remove smp from machine descriptor 2014-07-30 22:32:21 -07:00
mach-imx ARM: imx: fix .is_enabled() of shared gate clock 2014-09-22 21:49:20 -07:00
mach-integrator ARM: SoC platform changes for 3.17 2014-08-08 11:14:29 -07:00
mach-iop13xx ARM: 8113/1: remove remaining definitions of PLAT_PHYS_OFFSET from <mach/memory.h> 2014-07-29 23:08:52 +01:00
mach-iop32x
mach-iop33x
mach-ixp4xx
mach-keystone
mach-ks8695 ARM: 8113/1: remove remaining definitions of PLAT_PHYS_OFFSET from <mach/memory.h> 2014-07-29 23:08:52 +01:00
mach-lpc32xx
mach-mediatek arm: add basic support for Mediatek MT6589 boards 2014-07-22 17:52:37 +02:00
mach-mmp ARM: mmp: remove duplicate SM_SCLK_SM_SCLK define 2014-07-04 21:19:08 +08:00
mach-moxart
mach-msm Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2014-08-06 21:03:53 -07:00
mach-mv78xx0
mach-mvebu ARM: SoC platform changes for 3.17 2014-08-08 11:14:29 -07:00
mach-mxs
mach-netx
mach-nomadik
mach-nspire
mach-omap1 ARM: SoC cleanups for 3.17 2014-08-08 11:00:26 -07:00
mach-omap2 Regression fix for early omap3 revisions for wake-up events that 2014-09-22 21:57:20 -07:00
mach-orion5x
mach-picoxcell
mach-prima2
mach-pxa ARM: pxa: fix section mismatch warning for pxa_timer_nodt_init 2014-09-09 16:42:25 +02:00
mach-qcom
mach-realview ARM: SoC cleanups for 3.17 2014-08-08 11:00:26 -07:00
mach-rockchip ARM: SoC device-tree changes for 3.17 2014-08-08 11:16:58 -07:00
mach-rpc ARM: 8113/1: remove remaining definitions of PLAT_PHYS_OFFSET from <mach/memory.h> 2014-07-29 23:08:52 +01:00
mach-s3c24xx Merge branch 'akpm' (second patchbomb from Andrew Morton) 2014-08-08 15:57:47 -07:00
mach-s3c64xx ARM: SAMSUNG: Remove legacy clock code 2014-07-19 04:24:59 +09:00
mach-s5pv210 ARM: SoC cleanups for 3.17 2014-08-08 11:00:26 -07:00
mach-sa1100 ARM: 8113/1: remove remaining definitions of PLAT_PHYS_OFFSET from <mach/memory.h> 2014-07-29 23:08:52 +01:00
mach-shmobile Renesas ARM Based SoC Clock Fixes For v3.17 2014-08-27 15:14:05 -07:00
mach-socfpga
mach-spear ARM: SoC driver changes for 3.17 2014-08-08 11:34:32 -07:00
mach-sti Merge branch 'kprobes-test-fixes' of git://git.linaro.org/people/tixy/kernel into fixes 2014-07-12 13:59:24 +01:00
mach-sunxi ARM: SoC platform changes for 3.17 2014-08-08 11:14:29 -07:00
mach-tegra This is the bulk of GPIO changes for the v3.17 development 2014-08-08 18:00:35 -07:00
mach-u300
mach-ux500 Merge branch 'kprobes-test-fixes' of git://git.linaro.org/people/tixy/kernel into fixes 2014-07-12 13:59:24 +01:00
mach-versatile ARM: SoC platform changes for 3.17 2014-08-08 11:14:29 -07:00
mach-vexpress vexpress/spc: fix a build warning on array bounds 2014-08-31 10:22:10 -07:00
mach-vt8500 ARM: vt8500: Staticize local symbols 2014-07-06 17:50:01 -07:00
mach-w90x900 arch/arm/mach-w90x900/cpu.c: replace obsolete strict_strto 2014-08-08 15:57:28 -07:00
mach-zynq PM / OPP: Remove ARCH_HAS_OPP 2014-07-23 00:51:30 +02:00
mm ARM: mm: allow non-text sections to be non-executable 2014-10-16 14:38:54 -07:00
net net: filter: split 'struct sk_filter' into socket and bpf parts 2014-08-02 15:03:58 -07:00
nwfpe ARM: convert all "mov.* pc, reg" to "bx reg" for ARMv6+ 2014-07-18 12:29:04 +01:00
oprofile Merge branch 'devel-stable' into for-next 2014-08-05 10:27:25 +01:00
plat-iop
plat-omap ARM: OMAP: Fix Kconfig warning for omap1 2014-09-09 16:38:36 +02:00
plat-orion
plat-pxa
plat-samsung Merge branch 'cleanup/gpio-header-removal' into next/soc 2014-07-26 18:00:40 +02:00
plat-versatile video: move Versatile CLCD helpers 2014-06-27 10:15:22 +02:00
tools
vfp ARM: convert all "mov.* pc, reg" to "bx reg" for ARMv6+ 2014-07-18 12:29:04 +01:00
xen xen/arm: remove mach_to_phys rbtree 2014-09-11 18:11:53 +00:00
Kconfig kexec: remove CONFIG_KEXEC dependency on crypto 2014-08-29 16:28:16 -07:00
Kconfig-nommu
Kconfig.debug ARM: SoC device-tree changes for 3.17 2014-08-08 11:16:58 -07:00
Makefile ARM: SoC platform changes for 3.17 2014-08-08 11:14:29 -07:00