• Josh Poimboeuf's avatar
    x86/boot: Fix the end of the stack for idle tasks · 22dc3918
    Josh Poimboeuf authored
    Thanks to all the recent x86 entry code refactoring, most tasks' kernel
    stacks start at the same offset right below their saved pt_regs,
    regardless of which syscall was used to enter the kernel.  That creates
    a nice convention which makes it straightforward to identify the end of
    the stack, which can be useful for the unwinder to verify the stack is
    sane.
    
    However, the boot CPU's idle "swapper" task doesn't follow that
    convention.  Fix that by starting its stack at a sizeof(pt_regs) offset
    from the end of the stack page.
    Signed-off-by: default avatarJosh Poimboeuf <jpoimboe@redhat.com>
    Cc: Andy Lutomirski <luto@kernel.org>
    Cc: Borislav Petkov <bp@alien8.de>
    Cc: Brian Gerst <brgerst@gmail.com>
    Cc: Denys Vlasenko <dvlasenk@redhat.com>
    Cc: H. Peter Anvin <hpa@zytor.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Nilay Vaish <nilayvaish@gmail.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Link: http://lkml.kernel.org/r/81aee3beb6ed88e44f1bea6986bb7b65c368f77a.1474480779.git.jpoimboe@redhat.comSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
    22dc3918
head_64.S 12.8 KB