This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH tracing/kprobes 1/7] x86/ptrace: Fix regs_get_argument_nth() to add correct offset


On Thu, 2009-09-10 at 19:53 -0400, Masami Hiramatsu wrote:

> ---
> 
>  arch/x86/kernel/ptrace.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/arch/x86/kernel/ptrace.c b/arch/x86/kernel/ptrace.c
> index a33a17d..caffb68 100644
> --- a/arch/x86/kernel/ptrace.c
> +++ b/arch/x86/kernel/ptrace.c
> @@ -150,7 +150,7 @@ static const int arg_offs_table[] = {
>  unsigned long regs_get_argument_nth(struct pt_regs *regs, unsigned int n)
>  {
>  	if (n < ARRAY_SIZE(arg_offs_table))
> -		return *((unsigned long *)regs + arg_offs_table[n]);
> +		return *(unsigned long *)((char *)regs + arg_offs_table[n]);

That definitely looks like a bug.

Acked-by: Steven Rostedt <rostedt@goodmis.org>

-- Steve

>  	else {
>  		/*
>  		 * The typical case: arg n is on the stack.
> 
> 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]