]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - arch/arm/mm/Kconfig
Merge tag 'xtensa-next-20141215' of git://github.com/czankel/xtensa-linux
[karo-tx-linux.git] / arch / arm / mm / Kconfig
index ab906b8010470ad514081bc6901923a2c76f2f5d..03823e784f63e7acf91fdda4d5f58927ccf527d9 100644 (file)
@@ -1009,3 +1009,24 @@ config ARCH_SUPPORTS_BIG_ENDIAN
        help
          This option specifies the architecture can support big endian
          operation.
+
+config ARM_KERNMEM_PERMS
+       bool "Restrict kernel memory permissions"
+       help
+         If this is set, kernel memory other than kernel text (and rodata)
+         will be made non-executable. The tradeoff is that each region is
+         padded to section-size (1MiB) boundaries (because their permissions
+         are different and splitting the 1M pages into 4K ones causes TLB
+         performance problems), wasting memory.
+
+config DEBUG_RODATA
+       bool "Make kernel text and rodata read-only"
+       depends on ARM_KERNMEM_PERMS
+       default y
+       help
+         If this is set, kernel text and rodata will be made read-only. This
+         is to help catch accidental or malicious attempts to change the
+         kernel's executable code. Additionally splits rodata from kernel
+         text so it can be made explicitly non-executable. This creates
+         another section-size padded region, so it can waste more memory
+         space while gaining the read-only protections.