lkml.org 
[lkml]   [2016]   [Jun]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v4 10/29] x86/die: Don't try to recover from an OOPS on a non-default stack
    Date
    It's not going to work, because the scheduler will explode if we try
    to schedule when running on an IST stack or similar.

    This will matter when we let kernel stack overflows (which are #DF)
    call die().

    Signed-off-by: Andy Lutomirski <luto@kernel.org>
    ---
    arch/x86/kernel/dumpstack.c | 3 +++
    1 file changed, 3 insertions(+)

    diff --git a/arch/x86/kernel/dumpstack.c b/arch/x86/kernel/dumpstack.c
    index ef8017ca5ba9..352f022cfd5b 100644
    --- a/arch/x86/kernel/dumpstack.c
    +++ b/arch/x86/kernel/dumpstack.c
    @@ -245,6 +245,9 @@ void oops_end(unsigned long flags, struct pt_regs *regs, int signr)
    return;
    if (in_interrupt())
    panic("Fatal exception in interrupt");
    + if (((current_stack_pointer() ^ (current_top_of_stack() - 1))
    + & ~(THREAD_SIZE - 1)) != 0)
    + panic("Fatal exception on special stack");
    if (panic_on_oops)
    panic("Fatal exception");
    do_exit(signr);
    --
    2.7.4
    \
     
     \ /
      Last update: 2016-06-27 00:41    [W:2.459 / U:0.492 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site