| From b1c6ecfdd06907554518ec384ce8e99889d15193 Mon Sep 17 00:00:00 2001 |
| From: Sergey Matyukevich <sergey.matyukevich@synopsys.com> |
| Date: Thu, 14 Apr 2022 11:17:22 +0300 |
| Subject: ARC: entry: fix syscall_trace_exit argument |
| |
| From: Sergey Matyukevich <sergey.matyukevich@synopsys.com> |
| |
| commit b1c6ecfdd06907554518ec384ce8e99889d15193 upstream. |
| |
| Function syscall_trace_exit expects pointer to pt_regs. However |
| r0 is also used to keep syscall return value. Restore pointer |
| to pt_regs before calling syscall_trace_exit. |
| |
| Cc: <stable@vger.kernel.org> |
| Signed-off-by: Sergey Matyukevich <sergey.matyukevich@synopsys.com> |
| Signed-off-by: Vineet Gupta <vgupta@kernel.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| arch/arc/kernel/entry.S | 1 + |
| 1 file changed, 1 insertion(+) |
| |
| --- a/arch/arc/kernel/entry.S |
| +++ b/arch/arc/kernel/entry.S |
| @@ -199,6 +199,7 @@ tracesys_exit: |
| st r0, [sp, PT_r0] ; sys call return value in pt_regs |
| |
| ;POST Sys Call Ptrace Hook |
| + mov r0, sp ; pt_regs needed |
| bl @syscall_trace_exit |
| b ret_from_exception ; NOT ret_from_system_call at is saves r0 which |
| ; we'd done before calling post hook above |