Commit 3d252454 authored by Sven Schnelle's avatar Sven Schnelle Committed by Helge Deller

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: default avatarSven Schnelle <svens@stackframe.org>
Signed-off-by: default avatarHelge Deller <deller@gmx.de>
parent 320000e7
...@@ -2125,7 +2125,7 @@ ftrace_regs_caller: ...@@ -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 */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment