On Wed, 10 Dec 2014 15:17:32 -0800 Fengguang Wu <[email protected]> wrote:
> Hi Steven, > > 0day kernel testing robot got the below dmesg and the first bad commit is > > git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master > commit 6a06bdbf7f9c669743f58084991ba280f2925586 > Author: Steven Rostedt (Red Hat) <[email protected]> > AuthorDate: Mon Nov 24 21:00:34 2014 -0500 > Commit: Steven Rostedt <[email protected]> > CommitDate: Mon Dec 1 14:08:58 2014 -0500 > > ftrace/fgraph/x86: Have prepare_ftrace_return() take ip as first parameter > > The function graph helper function prepare_ftrace_return() which does the > work > to hijack the parent pointer has that parent pointer as its first > parameter. > Instead, if we make it the second parameter and have ip as the first > parameter > (self_addr), then it can use the %rdi from save_mcount_regs that loads it > already. > > Link: http://lkml.kernel.org/r/alpine.DEB.2.11.1411262304010.3961@nanos > > Reviewed-by: Thomas Gleixner <[email protected]> > Signed-off-by: Steven Rostedt <[email protected]> Crap! Yeah, I was wondering how this could be the bug, but then I realized this was i386 not x86_64 and I never updated the i386 call to prepare_ftrace_return(). Does this patch fix it? -- Steve diff --git a/arch/x86/kernel/entry_32.S b/arch/x86/kernel/entry_32.S index b553ed89e5f5..df3e608d409b 100644 --- a/arch/x86/kernel/entry_32.S +++ b/arch/x86/kernel/entry_32.S @@ -1192,10 +1192,10 @@ ENTRY(ftrace_graph_caller) pushl %eax pushl %ecx pushl %edx - movl 0xc(%esp), %edx - lea 0x4(%ebp), %eax + movl 0xc(%esp), %eax + lea 0x4(%ebp), %edx movl (%ebp), %ecx - subl $MCOUNT_INSN_SIZE, %edx + subl $MCOUNT_INSN_SIZE, %eax call prepare_ftrace_return popl %edx popl %ecx -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

