Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1603422

[PATCH] powerpc: fix /proc/self/stack

From Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
Newsgroups linux.kernel
Subject [PATCH] powerpc: fix /proc/self/stack
Date 2017-03-17 17:00 +0100
Message-ID <tm2sh-kO-1@gated-at.bofh.it> (permalink)
Organization linux.* mail to news gateway

Show all headers | View raw


For the current task, the kernel stack would only tell the last time the
process was rescheduled, if ever. Use the current stack pointer for the
current task.

This is also consistent with some other architectures.

Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
---
 arch/powerpc/kernel/stacktrace.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/arch/powerpc/kernel/stacktrace.c b/arch/powerpc/kernel/stacktrace.c
index 6671195..2446066 100644
--- a/arch/powerpc/kernel/stacktrace.c
+++ b/arch/powerpc/kernel/stacktrace.c
@@ -59,7 +59,12 @@ EXPORT_SYMBOL_GPL(save_stack_trace);
 
 void save_stack_trace_tsk(struct task_struct *tsk, struct stack_trace *trace)
 {
-	save_context_stack(trace, tsk->thread.ksp, tsk, 0);
+	unsigned long sp = tsk->thread.ksp;
+
+	if (tsk == current)
+		sp = current_stack_pointer();
+
+	save_context_stack(trace, sp, tsk, 0);
 }
 EXPORT_SYMBOL_GPL(save_stack_trace_tsk);
 
-- 
2.9.3

Back to linux.kernel | Previous | NextNext in thread | Find similar | Unroll thread


Thread

[PATCH] powerpc: fix /proc/self/stack Thadeu Lima de Souza Cascardo <cascardo@canonical.com> - 2017-03-17 17:00 +0100
  Re: [PATCH] powerpc: fix /proc/self/stack Michael Ellerman <mpe@ellerman.id.au> - 2017-03-22 12:20 +0100

csiph-web