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:
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