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>
diff --git a/arch/s390/boot/head.S b/arch/s390/boot/head.S
index e209cfe..ce2cbbc 100644
--- a/arch/s390/boot/head.S
+++ b/arch/s390/boot/head.S
@@ -315,7 +315,7 @@
 	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 79b4060..27248f4 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__