lkml.org 
[lkml]   [2011]   [Jun]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [BUG?]3.0-rc4+ftrace+kprobe: set kprobe at instruction 'stwu' lead to system crash/freeze
On Sun, Jun 26, 2011 at 11:47:13PM +0900, Masami Hiramatsu wrote:
> (2011/06/24 19:29), Steven Rostedt wrote:
> > On Fri, 2011-06-24 at 17:21 +0800, Yong Zhang wrote:
> >> Hi,
> >>
> >> When I use kprobe to do something, I found some wired thing.
> >>
> >> When CONFIG_FUNCTION_TRACER is disabled:
> >> (gdb) disassemble do_fork
> >> Dump of assembler code for function do_fork:
> >> 0xc0037390 <+0>: mflr r0
> >> 0xc0037394 <+4>: stwu r1,-64(r1)
> >> 0xc0037398 <+8>: mfcr r12
> >> 0xc003739c <+12>: stmw r27,44(r1)
> >>
> >> Then I:
> >> modprobe kprobe_example func=do_fork offset=4
> >> ls
> >> Things works well.
> >>
> >> But when CONFIG_FUNCTION_TRACER is enabled:
> >> (gdb) disassemble do_fork
> >> Dump of assembler code for function do_fork:
> >> 0xc0040334 <+0>: mflr r0
> >> 0xc0040338 <+4>: stw r0,4(r1)
> >> 0xc004033c <+8>: bl 0xc00109d4 <mcount>
> >> 0xc0040340 <+12>: stwu r1,-80(r1)
> >> 0xc0040344 <+16>: mflr r0
> >> 0xc0040348 <+20>: stw r0,84(r1)
> >> 0xc004034c <+24>: mfcr r12
> >> Then I:
> >> modprobe kprobe_example func=do_fork offset=12
> >> ls
> >> 'ls' will never retrun. system freeze.
> >
> > I'm not sure if x86 had a similar issue.
> >
> > Masami, have any ideas to why this happened?
>
> No, I don't familiar with ppc implementation. I guess
> that single-step resume code failed to emulate the
> instruction, but it strongly depends on ppc arch.
> Maybe IBM people may know what happened.
>
> Ananth, Jim, would you have any ideas?

On powerpc, we emulate sstep whenever possible. Only recently support to
emulate loads and stores got added. I don't have access to a powerpc box
today... but will try to recreate the problem ASAP and see what could be
happening in the presence of mcount.

Ananth


\
 
 \ /
  Last update: 2011-06-27 12:21    [W:0.503 / U:0.692 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site