tree 24dc5a2b05b854dd505d13af80534e0e2f018561
parent af6f157a4b4f511d06d564086cb3516bb164b7c6
parent 099ed151675cd1d2dbeae1dac697975f6a68716d
author Linus Torvalds <torvalds@linux-foundation.org> 1404437845 -0700
committer Linus Torvalds <torvalds@linux-foundation.org> 1404437845 -0700
mergetag object 099ed151675cd1d2dbeae1dac697975f6a68716d
 type commit
 tag trace-fixes-v3.16-rc3
 tagger Steven Rostedt <rostedt@goodmis.org> 1404357219 -0400
 
 Oleg Nesterov found and fixed a bug in the perf/ftrace/uprobes code where
 running:
 
    # perf probe -x /lib/libc.so.6 syscall
    # echo 1 >> /sys/kernel/debug/tracing/events/probe_libc/enable
    # perf record -e probe_libc:syscall whatever
 
 kills the uprobe. Along the way he found some other minor bugs and clean ups
 that he fixed up making it a total of 4 patches.
 
 Doing unrelated work, I found that the reading of the ftrace trace
 file disables all function tracer callbacks. This was fine when ftrace
 was the only user, but now that it's used by perf and kprobes, this
 is a bug where reading trace can disable kprobes and perf. A very unexpected
 side effect and should be fixed.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQEcBAABAgAGBQJTtMugAAoJEKQekfcNnQGuRs8H/2HhNAy0F1pAFYT5tH2o0z/Z
 z6NFn83FUUoesg/Bd+1Dk7VekIZIdo1JxQc67/Y0D0oylPPr31gmVvk2llFPdJV5
 xuWiUOuMbDq4Eh3Een8yaOsNsGbcX0lgw9qJEyqAvhJMi5G4dyt3r/g+vFThAyqm
 O8Uv74GBGmUmmGMyZuW2r2f2vSEANSXTLbzFqj54fV7FNms1B0MpZ/2AiRcEwCzi
 9yMainwrO1VPVSrSJFkW8g4sNl5X1M4tiIT8wGN75YePJVK3FAH8LmUDfpau4+ae
 /QGdjNkRDWpZ3mMJPbz3sAT7USnMlSZ5w80Rf/CZuZAe2Ncycvh9AhqcFV0+fj8=
 =3h4s
 -----END PGP SIGNATURE-----

Merge tag 'trace-fixes-v3.16-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace

Pull tracing fixes from Steven Rostedt:
 "Oleg Nesterov found and fixed a bug in the perf/ftrace/uprobes code
  where running:

    # perf probe -x /lib/libc.so.6 syscall
    # echo 1 >> /sys/kernel/debug/tracing/events/probe_libc/enable
    # perf record -e probe_libc:syscall whatever

  kills the uprobe.  Along the way he found some other minor bugs and
  clean ups that he fixed up making it a total of 4 patches.

  Doing unrelated work, I found that the reading of the ftrace trace
  file disables all function tracer callbacks.  This was fine when
  ftrace was the only user, but now that it's used by perf and kprobes,
  this is a bug where reading trace can disable kprobes and perf.  A
  very unexpected side effect and should be fixed"

* tag 'trace-fixes-v3.16-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
  tracing: Remove ftrace_stop/start() from reading the trace file
  tracing/uprobes: Fix the usage of uprobe_buffer_enable() in probe_event_enable()
  tracing/uprobes: Kill the bogus UPROBE_HANDLER_REMOVE code in uprobe_dispatcher()
  uprobes: Change unregister/apply to WARN() if uprobe/consumer is gone
  tracing/uprobes: Revert "Support mix of ftrace and perf"
