1. 11 May, 2010 2 commits
    • Masami Hiramatsu's avatar
      kprobes/x86: Fix removed int3 checking order · 829e9245
      Masami Hiramatsu authored
      
      
      Fix kprobe/x86 to check removed int3 when failing to get kprobe
      from hlist. Since we have a time window between checking int3
      exists on probed address and getting kprobe on that address,
      we can have following scenario:
      
       -------
       CPU1                     CPU2
       hit int3
       check int3 exists
                                remove int3
                                remove kprobe from hlist
       get kprobe from hlist
       no kprobe->OOPS!
       -------
      
      This patch moves int3 checking if there is no kprobe on that
      address for fixing this problem as follows:
      
       ------
       CPU1                     CPU2
       hit int3
                                remove int3
                                remove kprobe from hlist
       get kprobe from hlist
       no kprobe->check int3 exists
                ->rollback&retry
       ------
      Signed-off-by: default avatarMasami Hiramatsu <mhiramat@redhat.com>
      Acked-by: default avatarAnanth N Mavinakayanahalli <ananth@in.ibm.com>
      Cc: systemtap <systemtap@sources.redhat.com>
      Cc: DLE <dle-develop@lists.sourceforge.net>
      Cc: Dave Anderson <anderson@redhat.com>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      LKML-Reference: <20100427223348.2322.9112.stgit@localhost6.localdomain6>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      829e9245
    • Frederic Weisbecker's avatar
      perf: Fix static strings treated like dynamic ones · de068ec0
      Frederic Weisbecker authored
      
      
      The raw_field_ptr() helper, used to retrieve the address of a field
      inside a trace event, treats every strings as if they were dynamic
      ie: having a secondary level of indirection to retrieve their
      contents.
      
      FIELD_IS_STRING doesn't mean FIELD_IS_DYNAMIC, we only need to
      compute the secondary dereference for the latter case.
      
      This fixes perf sched segfaults, bad cmdline report and may be
      some other bugs.
      Reported-by: default avatarJason Baron <jbaron@redhat.com>
      Reported-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Signed-off-by: default avatarFrederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Tom Zanussi <tzanussi@gmail.com>
      de068ec0
  2. 05 May, 2010 31 commits
  3. 04 May, 2010 7 commits