diff options
author | Dave Airlie <airlied@redhat.com> | 2018-09-26 21:06:46 -0400 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2018-09-26 21:06:46 -0400 |
commit | bf78296ab1cb215d0609ac6cff4e43e941e51265 (patch) | |
tree | a193615b327d9ee538e71ca5f13bbfb4f3db4e6b /arch/nds32/kernel/stacktrace.c | |
parent | 18eb2f6e19d77900695987e3a2b775cccbe5b84e (diff) | |
parent | 6bf4ca7fbc85d80446ac01c0d1d77db4d91a6d84 (diff) |
BackMerge v4.19-rc5 into drm-next
Sean Paul requested an -rc5 backmerge from some sun4i fixes.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'arch/nds32/kernel/stacktrace.c')
-rw-r--r-- | arch/nds32/kernel/stacktrace.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/nds32/kernel/stacktrace.c b/arch/nds32/kernel/stacktrace.c index 8b231e910ea6..d974c0c1c65f 100644 --- a/arch/nds32/kernel/stacktrace.c +++ b/arch/nds32/kernel/stacktrace.c | |||
@@ -4,6 +4,7 @@ | |||
4 | #include <linux/sched/debug.h> | 4 | #include <linux/sched/debug.h> |
5 | #include <linux/sched/task_stack.h> | 5 | #include <linux/sched/task_stack.h> |
6 | #include <linux/stacktrace.h> | 6 | #include <linux/stacktrace.h> |
7 | #include <linux/ftrace.h> | ||
7 | 8 | ||
8 | void save_stack_trace(struct stack_trace *trace) | 9 | void save_stack_trace(struct stack_trace *trace) |
9 | { | 10 | { |
@@ -16,6 +17,7 @@ void save_stack_trace_tsk(struct task_struct *tsk, struct stack_trace *trace) | |||
16 | unsigned long *fpn; | 17 | unsigned long *fpn; |
17 | int skip = trace->skip; | 18 | int skip = trace->skip; |
18 | int savesched; | 19 | int savesched; |
20 | int graph_idx = 0; | ||
19 | 21 | ||
20 | if (tsk == current) { | 22 | if (tsk == current) { |
21 | __asm__ __volatile__("\tori\t%0, $fp, #0\n":"=r"(fpn)); | 23 | __asm__ __volatile__("\tori\t%0, $fp, #0\n":"=r"(fpn)); |
@@ -29,10 +31,12 @@ void save_stack_trace_tsk(struct task_struct *tsk, struct stack_trace *trace) | |||
29 | && (fpn >= (unsigned long *)TASK_SIZE)) { | 31 | && (fpn >= (unsigned long *)TASK_SIZE)) { |
30 | unsigned long lpp, fpp; | 32 | unsigned long lpp, fpp; |
31 | 33 | ||
32 | lpp = fpn[-1]; | 34 | lpp = fpn[LP_OFFSET]; |
33 | fpp = fpn[FP_OFFSET]; | 35 | fpp = fpn[FP_OFFSET]; |
34 | if (!__kernel_text_address(lpp)) | 36 | if (!__kernel_text_address(lpp)) |
35 | break; | 37 | break; |
38 | else | ||
39 | lpp = ftrace_graph_ret_addr(tsk, &graph_idx, lpp, NULL); | ||
36 | 40 | ||
37 | if (savesched || !in_sched_functions(lpp)) { | 41 | if (savesched || !in_sched_functions(lpp)) { |
38 | if (skip) { | 42 | if (skip) { |