Steven Rostedt
9c55cb12c1
tracing: Do not allow llseek to set_ftrace_filter
...
Reading the file set_ftrace_filter does three things.
1) shows whether or not filters are set for the function tracer
2) shows what functions are set for the function tracer
3) shows what triggers are set on any functions
3 is independent from 1 and 2.
The way this file currently works is that it is a state machine,
and as you read it, it may change state. But this assumption breaks
when you use lseek() on the file. The state machine gets out of sync
and the t_show() may use the wrong pointer and cause a kernel oops.
Luckily, this will only kill the app that does the lseek, but the app
dies while holding a mutex. This prevents anyone else from using the
set_ftrace_filter file (or any other function tracing file for that matter).
A real fix for this is to rewrite the code, but that is too much for
a -rc release or stable. This patch simply disables llseek on the
set_ftrace_filter() file for now, and we can do the proper fix for the
next major release.
Reported-by: Robert Swiecki <swiecki@google.com>
Cc: Chris Wright <chrisw@sous-sol.org>
Cc: Tavis Ormandy <taviso@google.com>
Cc: Eugene Teo <eugene@redhat.com>
Cc: vendor-sec@lst.de
Cc: <stable@kernel.org>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2010-09-08 12:08:01 -04:00
..
blktrace.c
block: add secure discard
2010-08-12 08:43:30 -07:00
ftrace.c
tracing: Do not allow llseek to set_ftrace_filter
2010-09-08 12:08:01 -04:00
Kconfig
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq
2010-08-07 12:42:58 -07:00
Makefile
Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
2010-08-06 09:30:52 -07:00
power-traces.c
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
2010-03-30 22:02:32 +09:00
ring_buffer.c
Merge branch 'tip/perf/urgent-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into trace/tip/perf/urgent-4
2010-08-16 11:17:30 -04:00
ring_buffer_benchmark.c
ring-buffer: Make benchmark handle missed events
2010-04-27 13:26:58 -04:00
trace.c
Merge branch 'tip/perf/urgent-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into trace/tip/perf/urgent-4
2010-08-16 11:17:30 -04:00
trace.h
Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
2010-08-06 09:30:52 -07:00
trace_branch.c
tracing: Allow events to share their print functions
2010-05-14 14:20:32 -04:00
trace_clock.c
Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
2010-08-06 09:39:22 -07:00
trace_entries.h
tracing: Remove special traces
2010-07-20 14:31:07 +02:00
trace_event_perf.c
perf: Use tracepoint_synchronize_unregister() to flush any pending tracepoint call
2010-08-02 01:30:56 +02:00
trace_events.c
Merge branch 'tip/perf/urgent-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into trace/tip/perf/urgent-4
2010-08-16 11:17:30 -04:00
trace_events_filter.c
tracing: Remove test of NULL define_fields callback
2010-06-28 17:12:52 -04:00
trace_export.c
tracing: Remove redundant raw_init callbacks
2010-06-28 17:12:53 -04:00
trace_functions.c
tracing: Remove ftrace_preempt_disable/enable
2010-06-03 19:32:38 -04:00
trace_functions_graph.c
Merge branch 'tip/perf/urgent-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into trace/tip/perf/urgent-4
2010-08-16 11:17:30 -04:00
trace_irqsoff.c
tracing: Shrink max latency ringbuffer if unnecessary
2010-07-21 10:20:17 -04:00
trace_kdb.c
ftrace,kdb: Allow dumping a specific cpu's buffer with ftdump
2010-08-05 09:22:23 -05:00
trace_kprobe.c
tracing/kprobes: unregister_trace_probe needs to be called under mutex
2010-08-04 12:41:23 -03:00
trace_mmiotrace.c
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
2010-03-30 22:02:32 +09:00
trace_nop.c
trace_output.c
Merge branch 'tip/perf/core' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into perf/core
2010-07-23 09:10:29 +02:00
trace_output.h
tracing: Allow events to share their print functions
2010-05-14 14:20:32 -04:00
trace_printk.c
trace_sched_switch.c
tracing: Let tracepoints have data passed to tracepoint callbacks
2010-05-14 09:50:34 -04:00
trace_sched_wakeup.c
tracing: Shrink max latency ringbuffer if unnecessary
2010-07-21 10:20:17 -04:00
trace_selftest.c
tracing: Remove special traces
2010-07-20 14:31:07 +02:00
trace_selftest_dynamic.c
trace_stack.c
tracing/trace_stack: Fix stack trace on ppc64
2010-08-25 13:08:48 +02:00
trace_stat.c
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
2010-03-30 22:02:32 +09:00
trace_stat.h
trace_syscalls.c
tracing: Use a global field list for all syscall exit events
2010-06-28 17:12:44 -04:00
trace_workqueue.c
tracing: Let tracepoints have data passed to tracepoint callbacks
2010-05-14 09:50:34 -04:00