Commit 991d384
committed
arm64: fix retrieving pt_regs structure on the kernel stack
Currently, bt command in gdb shows broken backtrace as follows:
Core was generated by `/init'.
#0 0x0000000000000015 in ?? ()
Then, registers contain broken values as follows:
(gdb) info registers
x0 0xffffff80080e1d3c -549620671172
...
x26 0xc79ecaf 209317039
x27 0xef412c356afbd300 -1206634617218804992
x28 0x7 7
x29 0xef412c356afbd300 -1206634617218804992
x30 0x16 22
sp 0x124 0x124
pc 0x15 0x15
cpsr 0x40000000 [ EL=0 Z ]
fpsr 0x10 16
fpcr 0x0 0
This is because the way retrieving pt_regs structure on the kernel
stack is wrong. The subtraction of SIZE(pt_regs) from the address is
unnecessary.
The cause of this issue is that I added a bug when I merged the commit
19bfb92; the Zhao's original patch
was totally correct.
Signed-off-by: Hong YANG <hong.yang3@nio.com>
Signed-off-by: Vincent Whitchurch <vincent.whitchurch@axis.com>
Signed-off-by: HATAYAMA Daisuke <d.hatayama@fujitsu.com>1 parent c1f1f58 commit 991d384
1 file changed
+2
-2
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
29 | 29 | | |
30 | 30 | | |
31 | 31 | | |
32 | | - | |
| 32 | + | |
33 | 33 | | |
34 | 34 | | |
35 | 35 | | |
| |||
126 | 126 | | |
127 | 127 | | |
128 | 128 | | |
129 | | - | |
| 129 | + | |
130 | 130 | | |
131 | 131 | | |
132 | 132 | | |
| |||
0 commit comments