Daniel Borkmann
5b6c1b4d46
bpf, trace: use READ_ONCE for retrieving file ptr
...
In bpf_perf_event_read() and bpf_perf_event_output(), we must use
READ_ONCE() for fetching the struct file pointer, which could get
updated concurrently, so we must prevent the compiler from potential
refetching.
We already do this with tail calls for fetching the related bpf_prog,
but not so on stored perf events. Semantics for both are the same
with regards to updates.
Fixes: a43eec3042 ("bpf: introduce bpf_perf_event_output() helper")
Fixes: 35578d7984 ("bpf: Implement function bpf_perf_event_read() that get the selected hardware PMU conuter")
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-06-07 14:48:03 -07:00
..
blktrace.c
blktrace: add missed mask name
2016-05-10 08:41:36 -06:00
bpf_trace.c
bpf, trace: use READ_ONCE for retrieving file ptr
2016-06-07 14:48:03 -07:00
ftrace.c
Three more changes.
2016-05-22 19:40:39 -07:00
Kconfig
tracing: Add 'hist' event trigger command
2016-04-19 12:16:14 -04:00
Makefile
tracing: Add 'hist' event trigger command
2016-04-19 12:16:14 -04:00
power-traces.c
cpufreq: schedutil: New governor based on scheduler utilization data
2016-04-02 01:09:12 +02:00
ring_buffer.c
ring-buffer: Prevent overflow of size in ring_buffer_resize()
2016-05-13 16:44:20 -04:00
ring_buffer_benchmark.c
ring_buffer: Remove unneeded smp_wmb() before wakeup of reader benchmark
2015-11-03 16:19:02 -05:00
rpm-traces.c
trace.c
tracing: Use temp buffer when filtering events
2016-05-03 17:59:24 -04:00
trace.h
tracing: Use temp buffer when filtering events
2016-05-03 17:59:24 -04:00
trace_benchmark.c
tracing: Only benchmark the time tracepoints take if tracing is on
2015-11-02 13:34:58 -05:00
trace_benchmark.h
trace_branch.c
trace_clock.c
trace_entries.h
trace_event_perf.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
2016-05-17 16:26:30 -07:00
trace_events.c
This includes two new updates for the ftrace infrastructure.
2016-05-18 18:55:19 -07:00
trace_events_filter.c
tracing: Use temp buffer when filtering events
2016-05-03 17:59:24 -04:00
trace_events_filter_test.h
trace_events_hist.c
tracing: Add check for NULL event field when creating hist field
2016-04-26 09:40:29 -04:00
trace_events_trigger.c
tracing: Add support for named triggers
2016-04-19 18:56:00 -04:00
trace_export.c
tracing: ftrace_event_is_function() can return boolean
2015-11-02 14:28:05 -05:00
trace_functions.c
tracing: Make tracer_flags use the right set_flag callback
2016-03-08 11:19:08 -05:00
trace_functions_graph.c
arch, ftrace: for KASAN put hard/soft IRQ entries into separate sections
2016-03-25 16:37:42 -07:00
trace_irqsoff.c
tracing: Remove redundant reset per-CPU buff in irqsoff tracer
2016-03-18 16:39:11 -04:00
trace_kdb.c
trace_kprobe.c
perf: split perf_trace_buf_prepare into alloc and update parts
2016-04-07 21:04:26 -04:00
trace_mmiotrace.c
kernel/...: convert pr_warning to pr_warn
2016-03-22 15:36:02 -07:00
trace_nop.c
tracing: Fix typoes in code comment and printk in trace_nop.c
2016-03-08 11:23:57 -05:00
trace_output.c
tracing: Record and show NMI state
2016-03-22 18:04:10 -04:00
trace_output.h
trace_printk.c
tracing: Fix trace_printk() to print when not using bprintk()
2016-03-22 18:02:40 -04:00
trace_probe.c
kernel/...: convert pr_warning to pr_warn
2016-03-22 15:36:02 -07:00
trace_probe.h
trace_sched_switch.c
trace_sched_wakeup.c
Most of the changes are clean ups and small fixes. Some of them have
2015-11-06 13:30:20 -08:00
trace_selftest.c
trace_selftest_dynamic.c
trace_seq.c
trace_stack.c
tracing, kasan: Silence Kasan warning in check_stack of stack_tracer
2016-02-19 12:36:44 -05:00
trace_stat.c
kernel/...: convert pr_warning to pr_warn
2016-03-22 15:36:02 -07:00
trace_stat.h
trace_syscalls.c
perf: split perf_trace_buf_prepare into alloc and update parts
2016-04-07 21:04:26 -04:00
trace_uprobe.c
perf: split perf_trace_buf_prepare into alloc and update parts
2016-04-07 21:04:26 -04:00
tracing_map.c
tracing: Handle tracing_map_alloc_elts() error path correctly
2016-04-26 09:40:30 -04:00
tracing_map.h
tracing: Update some tracing_map constants and comments
2016-04-19 12:16:06 -04:00