lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:	Thu, 11 Dec 2014 13:42:02 -0800
From:	Fengguang Wu <fengguang.wu@...el.com>
To:	Steven Rostedt <rostedt@...dmis.org>
Cc:	LKP <lkp@...org>, linux-kernel@...r.kernel.org
Subject: Re: [ftrace/fgraph/x86] BUG: unable to handle kernel paging request
 at 3d00c17d

Hi Steven,

On Wed, Dec 10, 2014 at 11:09:13PM -0500, Steven Rostedt wrote:
> On Wed, 10 Dec 2014 15:17:32 -0800
> Fengguang Wu <fengguang.wu@...el.com> 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) <rostedt@...dmis.org>
> > AuthorDate: Mon Nov 24 21:00:34 2014 -0500
> > Commit:     Steven Rostedt <rostedt@...dmis.org>
> > 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 <tglx@...utronix.de>
> >     Signed-off-by: Steven Rostedt <rostedt@...dmis.org>
> 
> 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?

Yes, it fixed the issue.

Tested-by: Fengguang Wu <fengguang.wu@...el.com>

Thanks,
Fengguang

> 
> 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 majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ