• Josh Poimboeuf's avatar
    x86/boot/32: Fix the end of the stack for idle tasks · 6616a147
    Josh Poimboeuf authored
    The frame at the end of each idle task stack is inconsistent with real
    task stacks, which have a stack frame header and a real return address
    before the pt_regs area.  This inconsistency can be confusing for stack
    unwinders.  It also hides useful information about what asm code was
    involved in calling into C.
    
    Fix that by changing the initial code jumps to calls.  Also add infinite
    loops after the calls to make it clear that the calls don't return, and
    to hang if they do.
    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/2588f34b6fbac4ae6f6f9ead2a78d7f8d58a6341.1474480779.git.jpoimboe@redhat.comSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
    6616a147
head_32.S 18.3 KB