mirror of
https://github.com/torvalds/linux.git
synced 2024-12-23 03:11:46 +00:00
powerpc: Fix graceful debugger recovery
When exiting xmon with 'x' (exit and recover), oops_begin bails out immediately, but die then calls __die() and oops_end(), which cause a lot of bad things to happen. If the debugger was attached then went to graceful recovery, exit from die() immediately. Signed-off-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
This commit is contained in:
parent
43c9127d94
commit
6f44b20ee9
@ -122,9 +122,6 @@ static unsigned long oops_begin(struct pt_regs *regs)
|
||||
int cpu;
|
||||
unsigned long flags;
|
||||
|
||||
if (debugger(regs))
|
||||
return 1;
|
||||
|
||||
oops_enter();
|
||||
|
||||
/* racy, but better than risking deadlock. */
|
||||
@ -227,8 +224,12 @@ NOKPROBE_SYMBOL(__die);
|
||||
|
||||
void die(const char *str, struct pt_regs *regs, long err)
|
||||
{
|
||||
unsigned long flags = oops_begin(regs);
|
||||
unsigned long flags;
|
||||
|
||||
if (debugger(regs))
|
||||
return;
|
||||
|
||||
flags = oops_begin(regs);
|
||||
if (__die(str, regs, err))
|
||||
err = 0;
|
||||
oops_end(flags, regs, err);
|
||||
|
Loading…
Reference in New Issue
Block a user