summaryrefslogtreecommitdiffstats
path: root/include/linux/list.h
diff options
context:
space:
mode:
authorSteven Rostedt (Red Hat) <rostedt@goodmis.org>2013-07-03 23:33:51 -0400
committerSteven Rostedt <rostedt@goodmis.org>2013-08-01 18:25:50 -0400
commitc6c2401d8bbaf9edc189b4c35a8cb2780b8b988e (patch)
tree5589795f4b86670b2d4f4851a4de8f1401c6c7ff /include/linux/list.h
parent40c32592668b727cbfcf7b1c0567f581bd62a5e4 (diff)
downloadlinux-stable-c6c2401d8bbaf9edc189b4c35a8cb2780b8b988e.tar.gz
linux-stable-c6c2401d8bbaf9edc189b4c35a8cb2780b8b988e.tar.bz2
linux-stable-c6c2401d8bbaf9edc189b4c35a8cb2780b8b988e.zip
tracing/uprobes: Fail to unregister if probe event files are in use
Uprobes suffer the same problem that kprobes have. There's a race between writing to the "enable" file and removing the probe. The probe checks for it being in use and if it is not, goes about deleting the probe and the event that represents it. But the problem with that is, after it checks if it is in use it can be enabled, and the deletion of the event (access to the probe) will fail, as it is in use. But the uprobe will still be deleted. This is a problem as the event can reference the uprobe that was deleted. The fix is to remove the event first, and check to make sure the event removal succeeds. Then it is safe to remove the probe. When the event exists, either ftrace or perf can enable the probe and prevent the event from being removed. Link: http://lkml.kernel.org/r/20130704034038.991525256@goodmis.org Acked-by: Oleg Nesterov <oleg@redhat.com> Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Diffstat (limited to 'include/linux/list.h')
0 files changed, 0 insertions, 0 deletions