x86/entry: Only allocate space for tss_struct::SYSENTER_stack if needed
authorAndy Lutomirski <[email protected]>
Thu, 10 Mar 2016 03:00:31 +0000 (19:00 -0800)
committerIngo Molnar <[email protected]>
Thu, 10 Mar 2016 08:48:14 +0000 (09:48 +0100)
The SYSENTER stack is only used on 32-bit kernels.  Remove it on 64-bit kernels.

( We may end up using it down the road on 64-bit kernels. If so,
  we'll re-enable it for CONFIG_IA32_EMULATION. )

Signed-off-by: Andy Lutomirski <[email protected]>
Cc: Andrew Cooper <[email protected]>
Cc: Andy Lutomirski <[email protected]>
Cc: Borislav Petkov <[email protected]>
Cc: Brian Gerst <[email protected]>
Cc: Denys Vlasenko <[email protected]>
Cc: H. Peter Anvin <[email protected]>
Cc: Linus Torvalds <[email protected]>
Cc: Oleg Nesterov <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Link: http://lkml.kernel.org/r/9dbd18429f9ff61a76b6eda97a9ea20510b9f6ba.1457578375.git.luto@kernel.org
Signed-off-by: Ingo Molnar <[email protected]>
arch/x86/include/asm/processor.h

index ecb410310e700513338e08010a6decf20d84de61..7cd01b71b5bdc8e7573edfecd9bda4fd0f542230 100644 (file)
@@ -297,10 +297,12 @@ struct tss_struct {
         */
        unsigned long           io_bitmap[IO_BITMAP_LONGS + 1];
 
+#ifdef CONFIG_X86_32
        /*
         * Space for the temporary SYSENTER stack:
         */
        unsigned long           SYSENTER_stack[64];
+#endif
 
 } ____cacheline_aligned;