From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 12790 invoked by alias); 11 Sep 2009 01:43:16 -0000 Received: (qmail 12783 invoked by uid 22791); 11 Sep 2009 01:43:15 -0000 X-SWARE-Spam-Status: No, hits=-1.9 required=5.0 tests=AWL,BAYES_00 X-Spam-Check-By: sourceware.org Received: from hrndva-omtalb.mail.rr.com (HELO hrndva-omtalb.mail.rr.com) (71.74.56.123) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 11 Sep 2009 01:43:10 +0000 Received: from [192.168.23.10] (really [74.67.89.75]) by hrndva-omta03.mail.rr.com with ESMTP id <20090911014308441.VPZH4372@hrndva-omta03.mail.rr.com>; Fri, 11 Sep 2009 01:43:08 +0000 Subject: Re: [PATCH tracing/kprobes 1/7] x86/ptrace: Fix regs_get_argument_nth() to add correct offset From: Steven Rostedt Reply-To: rostedt@goodmis.org To: Masami Hiramatsu Cc: Frederic Weisbecker , Ingo Molnar , lkml , systemtap , DLE , Jim Keniston , Ananth N Mavinakayanahalli , Andi Kleen , Christoph Hellwig , "Frank Ch. Eigler" , "H. Peter Anvin" , Jason Baron , "K.Prasad" , Lai Jiangshan , Li Zefan , Peter Zijlstra , Srikar Dronamraju , Tom Zanussi In-Reply-To: <20090910235306.22412.31613.stgit@dhcp-100-2-132.bos.redhat.com> References: <20090910235258.22412.29317.stgit@dhcp-100-2-132.bos.redhat.com> <20090910235306.22412.31613.stgit@dhcp-100-2-132.bos.redhat.com> Content-Type: text/plain Date: Fri, 11 Sep 2009 01:43:00 -0000 Message-Id: <1252633386.18996.60.camel@gandalf.stny.rr.com> Mime-Version: 1.0 Content-Transfer-Encoding: 7bit X-IsSubscribed: yes Mailing-List: contact systemtap-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: systemtap-owner@sourceware.org X-SW-Source: 2009-q3/txt/msg00666.txt.bz2 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 -- Steve > else { > /* > * The typical case: arg n is on the stack. > >