tracing/kprobes, x86/ptrace: Fix regs argument order for i386
authorVamshi K Sthambamkadi <vamshi.k.sthambamkadi@gmail.com>
Fri, 28 Aug 2020 11:32:46 +0000 (17:02 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 9 Sep 2020 17:14:24 +0000 (19:14 +0200)
commitf76c4eab5ce9f082ca9629488f1083748a721a65
tree8a046dbbc792d0dbc4358092ff2da05734aff171
parent98176c9f3a770c30ab2701fcdb952bbe684db6cf
tracing/kprobes, x86/ptrace: Fix regs argument order for i386

commit 2356bb4b8221d7dc8c7beb810418122ed90254c9 upstream.

On i386, the order of parameters passed on regs is eax,edx,and ecx
(as per regparm(3) calling conventions).

Change the mapping in regs_get_kernel_argument(), so that arg1=ax
arg2=dx, and arg3=cx.

Running the selftests testcase kprobes_args_use.tc shows the result
as passed.

Fixes: 3c88ee194c28 ("x86: ptrace: Add function argument access API")
Signed-off-by: Vamshi K Sthambamkadi <vamshi.k.sthambamkadi@gmail.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Acked-by: Masami Hiramatsu <mhiramat@kernel.org>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: <stable@vger.kernel.org>
Link: https://lkml.kernel.org/r/20200828113242.GA1424@cosmos
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/x86/include/asm/ptrace.h