fork: support VMAP_STACK with KASAN_VMALLOC
[linux-2.6-microblaze.git] / arch / Kconfig
index 8bcc1c7..ec07f9b 100644 (file)
@@ -843,16 +843,17 @@ config HAVE_ARCH_VMAP_STACK
 config VMAP_STACK
        default y
        bool "Use a virtually-mapped stack"
-       depends on HAVE_ARCH_VMAP_STACK && !KASAN
+       depends on HAVE_ARCH_VMAP_STACK
+       depends on !KASAN || KASAN_VMALLOC
        ---help---
          Enable this if you want the use virtually-mapped kernel stacks
          with guard pages.  This causes kernel stack overflows to be
          caught immediately rather than causing difficult-to-diagnose
          corruption.
 
-         This is presently incompatible with KASAN because KASAN expects
-         the stack to map directly to the KASAN shadow map using a formula
-         that is incorrect if the stack is in vmalloc space.
+         To use this with KASAN, the architecture must support backing
+         virtual mappings with real shadow memory, and KASAN_VMALLOC must
+         be enabled.
 
 config ARCH_OPTIONAL_KERNEL_RWX
        def_bool n
@@ -939,6 +940,14 @@ config RELR
 config ARCH_HAS_MEM_ENCRYPT
        bool
 
+config HAVE_SPARSE_SYSCALL_NR
+       bool
+       help
+          An architecture should select this if its syscall numbering is sparse
+         to save space. For example, MIPS architecture has a syscall array with
+         entries at 4000, 5000 and 6000 locations. This option turns on syscall
+         related optimizations for a given architecture.
+
 source "kernel/gcov/Kconfig"
 
 source "scripts/gcc-plugins/Kconfig"