linux-uconsole/kernel/trace
Slava Pestov 3ee6c4cf57 tracing: Fix panic when lseek() called on "trace" opened for writing
commit 364829b126 upstream.

The file_ops struct for the "trace" special file defined llseek as seq_lseek().
However, if the file was opened for writing only, seq_open() was not called,
and the seek would dereference a null pointer, file->private_data.

This patch introduces a new wrapper for seq_lseek() which checks if the file
descriptor is opened for reading first. If not, it does nothing.

Signed-off-by: Slava Pestov <slavapestov@google.com>
LKML-Reference: <1290640396-24179-1-git-send-email-slavapestov@google.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-01-07 13:58:33 -08:00
..
blktrace.c block: add secure discard 2010-08-12 08:43:30 -07:00
ftrace.c tracing: t_start: reset FTRACE_ITER_HASH in case of seek/pread 2010-09-09 22:43:49 -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 ring-buffer: Fix typo of time extends per page 2010-10-12 12:06:43 -04:00
ring_buffer_benchmark.c ring-buffer: Make benchmark handle missed events 2010-04-27 13:26:58 -04:00
trace.c tracing: Fix panic when lseek() called on "trace" opened for writing 2011-01-07 13:58:33 -08: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, trace: Fix module leak 2010-09-09 20:38:51 +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/kprobe: Fix handling of C-unlike argument names 2010-09-08 11:47:19 -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 tracing/ftrace: make nop-tracer use polling wait for events on pipe 2009-03-23 09:22:15 +01:00
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 tracing: Remove markers 2009-09-18 21:22:08 +02:00
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 tracing/stat: Add stat_release() callback 2009-07-10 12:14:05 +02:00
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