summaryrefslogtreecommitdiff
path: root/arch/s390
diff options
context:
space:
mode:
authorVasily Gorbik <gor@linux.ibm.com>2018-01-12 12:46:00 +0100
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2018-10-09 11:21:32 +0200
commit19733fe8721b8d91b799c91082ebb9c139ca6710 (patch)
tree0d56f1df32e8e413d1c2a9b3578327e537920f5b /arch/s390
parent6cad0eb561357dfde382b8d8c03c6ee30c0bff48 (diff)
s390/head: avoid doubling early boot stack size under KASAN
Early boot stack uses predefined 4 pages of memory 0x8000-0xC000. This stack is used to run not instumented decompressor/facilities verification C code. It doesn't make sense to double its size when the kernel is built with KASAN support. BOOT_STACK_ORDER is introduced to avoid that. Signed-off-by: Vasily Gorbik <gor@linux.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390')
-rw-r--r--arch/s390/boot/head.S2
-rw-r--r--arch/s390/include/asm/thread_info.h1
2 files changed, 2 insertions, 1 deletions
diff --git a/arch/s390/boot/head.S b/arch/s390/boot/head.S
index e209cfe69bb9..ce2cbbc41742 100644
--- a/arch/s390/boot/head.S
+++ b/arch/s390/boot/head.S
@@ -315,7 +315,7 @@ ENTRY(startup_kdump)
brasl %r14,startup_kernel
.Lstack:
- .long 0x8000 + THREAD_SIZE - STACK_FRAME_OVERHEAD
+ .long 0x8000 + (1<<(PAGE_SHIFT+BOOT_STACK_ORDER)) - STACK_FRAME_OVERHEAD
.align 8
6: .long 0x7fffffff,0xffffffff
diff --git a/arch/s390/include/asm/thread_info.h b/arch/s390/include/asm/thread_info.h
index 79b40600f523..27248f42a03c 100644
--- a/arch/s390/include/asm/thread_info.h
+++ b/arch/s390/include/asm/thread_info.h
@@ -18,6 +18,7 @@
#else
#define THREAD_SIZE_ORDER 2
#endif
+#define BOOT_STACK_ORDER 2
#define THREAD_SIZE (PAGE_SIZE << THREAD_SIZE_ORDER)
#ifndef __ASSEMBLY__