sh: stacktrace: Add reliability checks in address saving ops.

This adopts the reliability checks from the x86 stacktrace code so known
bad addresses are not recorded in the stack trace buffer.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
This commit is contained in:
Paul Mundt 2009-08-15 01:05:46 +09:00
parent 0fc11e3618
commit 48e4d4604b

View File

@ -38,6 +38,9 @@ static void save_stack_address(void *data, unsigned long addr, int reliable)
{ {
struct stack_trace *trace = data; struct stack_trace *trace = data;
if (!reliable)
return;
if (trace->skip > 0) { if (trace->skip > 0) {
trace->skip--; trace->skip--;
return; return;
@ -67,6 +70,9 @@ save_stack_address_nosched(void *data, unsigned long addr, int reliable)
{ {
struct stack_trace *trace = (struct stack_trace *)data; struct stack_trace *trace = (struct stack_trace *)data;
if (!reliable)
return;
if (in_sched_functions(addr)) if (in_sched_functions(addr))
return; return;