Messages in this thread | | | Date | Fri, 28 Aug 2020 13:59:54 +0200 | From | peterz@infradea ... | Subject | Re: [PATCH] kprobes, x86/ptrace.h: fix regs argument order for i386 |
| |
On Fri, Aug 28, 2020 at 05:02:46PM +0530, Vamshi K Sthambamkadi wrote: > 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>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
> --- > arch/x86/include/asm/ptrace.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/x86/include/asm/ptrace.h b/arch/x86/include/asm/ptrace.h > index 40aa69d..d8324a2 100644 > --- a/arch/x86/include/asm/ptrace.h > +++ b/arch/x86/include/asm/ptrace.h > @@ -327,8 +327,8 @@ static inline unsigned long regs_get_kernel_argument(struct pt_regs *regs, > static const unsigned int argument_offs[] = { > #ifdef __i386__ > offsetof(struct pt_regs, ax), > - offsetof(struct pt_regs, cx), > offsetof(struct pt_regs, dx), > + offsetof(struct pt_regs, cx), > #define NR_REG_ARGUMENTS 3 > #else > offsetof(struct pt_regs, di), > -- > 2.7.4 >
| |