9os

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

commit b23d88f2814f0216037df0924418c9d05bf4d378
parent 4bb3e726c572f89550e6c74116fa924817fd5821
Author: Roberto Vargas <roberto.vargas@arm.com>
Date:   Fri, 23 Nov 2018 13:43:20 +0000

[rmc] Stop in recursive panic()

Once that a recursive panic is detected then it is better
to stop as soon as possible because something really wrong
is happening.

Change-Id: Ibe8efe698e96360b23e612302859114fee07bac0

Diffstat:
Msrc/rmc.c | 17++++++++++-------
1 file changed, 10 insertions(+), 7 deletions(-)

diff --git a/src/rmc.c b/src/rmc.c @@ -60,14 +60,17 @@ panicfmt(const char *msg, struct trapframe *fp) * check against 1 to be more robust * against memory corruptions */ - if (bss->in_panic != 1) { - bss->in_panic = 1; - kprint("panic: %s\n", msg); - - dumpregs(fp); - backtrace(fp); - dumpstack(fp); + if (bss->in_panic == 1) { + for (;;) + ; } + + bss->in_panic = 1; + kprint("panic: %s\n", msg); + + dumpregs(fp); + backtrace(fp); + dumpstack(fp); } void