parisc: fix frame pointer in ftrace_regs_caller()
The current code in ftrace_regs_caller() doesn't assign %r3 to contain the address of the current frame. This is hidden if the kernel is compiled with FRAME_POINTER, but without it just crashes because it tries to dereference an arbitrary address. Fix this by always setting %r3 to the current stack frame. Signed-off-by: Sven Schnelle <svens@stackframe.org> Signed-off-by: Helge Deller <deller@gmx.de>
This commit is contained in:
parent
320000e72e
commit
3d252454ed
|
@ -2125,7 +2125,7 @@ ftrace_regs_caller:
|
||||||
copy %rp, %r26
|
copy %rp, %r26
|
||||||
LDREG -FTRACE_FRAME_SIZE-PT_SZ_ALGN(%sp), %r25
|
LDREG -FTRACE_FRAME_SIZE-PT_SZ_ALGN(%sp), %r25
|
||||||
ldo -8(%r25), %r25
|
ldo -8(%r25), %r25
|
||||||
copy %r3, %arg2
|
ldo -FTRACE_FRAME_SIZE(%r1), %arg2
|
||||||
b,l ftrace_function_trampoline, %rp
|
b,l ftrace_function_trampoline, %rp
|
||||||
copy %r1, %arg3 /* struct pt_regs */
|
copy %r1, %arg3 /* struct pt_regs */
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue