From: Paul Mundt Date: Fri, 14 Aug 2009 16:05:46 +0000 (+0900) Subject: sh: stacktrace: Add reliability checks in address saving ops. X-Git-Tag: v2.6.32-rc1~640^2~68^2~2 X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=48e4d4604b7da52d6a56ddc821a460b183b7353d;p=~emulex%2Finfiniband.git 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 --- diff --git a/arch/sh/kernel/stacktrace.c b/arch/sh/kernel/stacktrace.c index 45b1adde3ab..a0f497bcbb4 100644 --- a/arch/sh/kernel/stacktrace.c +++ b/arch/sh/kernel/stacktrace.c @@ -38,6 +38,9 @@ static void save_stack_address(void *data, unsigned long addr, int reliable) { struct stack_trace *trace = data; + if (!reliable) + return; + if (trace->skip > 0) { trace->skip--; return; @@ -67,6 +70,9 @@ save_stack_address_nosched(void *data, unsigned long addr, int reliable) { struct stack_trace *trace = (struct stack_trace *)data; + if (!reliable) + return; + if (in_sched_functions(addr)) return;