From: Thomas Gleixner Date: Wed, 10 Apr 2019 10:27:56 +0000 (+0200) Subject: x86/stacktrace: Remove the pointless ULONG_MAX marker X-Git-Tag: v5.15~6507^2~43 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c5c27a0a583844c69a433039e4fd6396ba23551b;p=platform%2Fkernel%2Flinux-starfive.git x86/stacktrace: Remove the pointless ULONG_MAX marker Terminating the last trace entry with ULONG_MAX is a completely pointless exercise and none of the consumers can rely on it because it's inconsistently implemented across architectures. In fact quite some of the callers remove the entry and adjust stack_trace.nr_entries afterwards. Signed-off-by: Thomas Gleixner Acked-by: Peter Zijlstra (Intel) Cc: Josh Poimboeuf Cc: Andy Lutomirski Cc: Steven Rostedt Cc: Alexander Potapenko Link: https://lkml.kernel.org/r/20190410103643.750954603@linutronix.de --- diff --git a/arch/x86/kernel/stacktrace.c b/arch/x86/kernel/stacktrace.c index 5c2d71a..b2f706f 100644 --- a/arch/x86/kernel/stacktrace.c +++ b/arch/x86/kernel/stacktrace.c @@ -46,9 +46,6 @@ static void noinline __save_stack_trace(struct stack_trace *trace, if (!addr || save_stack_address(trace, addr, nosched)) break; } - - if (trace->nr_entries < trace->max_entries) - trace->entries[trace->nr_entries++] = ULONG_MAX; } /* @@ -97,7 +94,7 @@ __save_stack_trace_reliable(struct stack_trace *trace, if (regs) { /* Success path for user tasks */ if (user_mode(regs)) - goto success; + return 0; /* * Kernel mode registers on the stack indicate an @@ -132,10 +129,6 @@ __save_stack_trace_reliable(struct stack_trace *trace, if (!(task->flags & (PF_KTHREAD | PF_IDLE))) return -EINVAL; -success: - if (trace->nr_entries < trace->max_entries) - trace->entries[trace->nr_entries++] = ULONG_MAX; - return 0; } @@ -221,9 +214,6 @@ void save_stack_trace_user(struct stack_trace *trace) /* * Trace user stack if we are not a kernel thread */ - if (current->mm) { + if (current->mm) __save_stack_trace_user(trace); - } - if (trace->nr_entries < trace->max_entries) - trace->entries[trace->nr_entries++] = ULONG_MAX; }