projects
/
deliverable
/
linux.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
arm64: fix dump_backtrace/unwind_frame with NULL tsk
[deliverable/linux.git]
/
arch
/
arm64
/
kernel
/
traps.c
diff --git
a/arch/arm64/kernel/traps.c
b/arch/arm64/kernel/traps.c
index e04f83873af76244c5785782b3b60283250bab04..df06750846de6c0b730f7c516422f56d57d6f70f 100644
(file)
--- a/
arch/arm64/kernel/traps.c
+++ b/
arch/arm64/kernel/traps.c
@@
-142,6
+142,11
@@
static void dump_backtrace(struct pt_regs *regs, struct task_struct *tsk)
unsigned long irq_stack_ptr;
int skip;
unsigned long irq_stack_ptr;
int skip;
+ pr_debug("%s(regs = %p tsk = %p)\n", __func__, regs, tsk);
+
+ if (!tsk)
+ tsk = current;
+
/*
* Switching between stacks is valid when tracing current and in
* non-preemptible context.
/*
* Switching between stacks is valid when tracing current and in
* non-preemptible context.
@@
-151,11
+156,6
@@
static void dump_backtrace(struct pt_regs *regs, struct task_struct *tsk)
else
irq_stack_ptr = 0;
else
irq_stack_ptr = 0;
- pr_debug("%s(regs = %p tsk = %p)\n", __func__, regs, tsk);
-
- if (!tsk)
- tsk = current;
-
if (tsk == current) {
frame.fp = (unsigned long)__builtin_frame_address(0);
frame.sp = current_stack_pointer;
if (tsk == current) {
frame.fp = (unsigned long)__builtin_frame_address(0);
frame.sp = current_stack_pointer;
This page took
0.024432 seconds
and
5
git commands to generate.