Alexei Starovoitov
b121d1e74d
bpf: prevent kprobe+bpf deadlocks
...
if kprobe is placed within update or delete hash map helpers
that hold bucket spin lock and triggered bpf program is trying to
grab the spinlock for the same bucket on the same cpu, it will
deadlock.
Fix it by extending existing recursion prevention mechanism.
Note, map_lookup and other tracing helpers don't have this problem,
since they don't hold any locks and don't modify global data.
bpf_trace_printk has its own recursive check and ok as well.
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Acked-by: Daniel Borkmann <daniel@iogearbox.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-03-08 15:28:30 -05:00
..
blktrace.c
convert a bunch of open-coded instances of memdup_user_nul()
2016-01-04 10:26:58 -05:00
bpf_trace.c
bpf: prevent kprobe+bpf deadlocks
2016-03-08 15:28:30 -05:00
ftrace.c
ftrace/module: remove ftrace module notifier
2016-02-17 22:14:06 +01:00
Kconfig
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2015-11-10 18:11:41 -08:00
Makefile
bpf: Fix the build on BPF_SYSCALL=y && !CONFIG_TRACING kernels, make it more configurable
2015-04-02 16:28:06 +02:00
power-traces.c
ring_buffer.c
ring-buffer: Process commits whenever moving to a new page.
2015-11-25 15:24:05 -05: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: Fix stacktrace skip depth in trace_buffer_unlock_commit_regs()
2016-01-14 09:28:19 -05:00
trace.h
tracing: Fix comment to use tracing_on over tracing_enable
2015-12-23 14:27:25 -05: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
tracing: Remove {start,stop}_branch_trace
2015-10-21 10:10:09 -04:00
trace_clock.c
tracing: Export tracing clock functions
2015-05-12 15:56:57 -04:00
trace_entries.h
tracing: %pF is only for function pointers
2015-03-25 08:57:22 -04:00
trace_event_perf.c
Not much new with tracing for this release. Mostly just clean ups and
2016-01-12 20:04:15 -08:00
trace_events.c
tracing: Do not have 'comm' filter override event 'comm' field
2016-03-04 09:57:10 -05:00
trace_events_filter.c
tracing: Do not have 'comm' filter override event 'comm' field
2016-03-04 09:57:10 -05:00
trace_events_filter_test.h
trace_events_trigger.c
Not much new with tracing for this release. Mostly just clean ups and
2016-01-12 20:04:15 -08:00
trace_export.c
tracing: ftrace_event_is_function() can return boolean
2015-11-02 14:28:05 -05:00
trace_functions.c
trace_functions_graph.c
tracing: Remove unused ftrace_cpu_disabled per cpu variable
2015-11-07 13:25:14 -05:00
trace_irqsoff.c
tracing: report_latency() in trace_irqsoff.c can return boolean
2015-11-02 14:20:19 -05:00
trace_kdb.c
tracing: Move trace_flags from global to a trace_array field
2015-09-30 15:22:55 -04:00
trace_kprobe.c
lib: introduce strncpy_from_unsafe()
2015-08-28 16:27:27 -07:00
trace_mmiotrace.c
tracing: Pass trace_array into trace_buffer_unlock_commit()
2015-09-25 17:38:44 -04:00
trace_nop.c
trace_output.c
tracing: Move trace_flags from global to a trace_array field
2015-09-30 15:22:55 -04:00
trace_output.h
tracing: Turn seq_print_user_ip() into a static function
2015-09-28 10:16:12 -04:00
trace_printk.c
tracing: Fix setting of start_index in find_next()
2016-01-04 15:22:47 -05:00
trace_probe.c
trace: Don't use __weak in header files
2015-03-25 08:57:23 -04:00
trace_probe.h
kernel/trace_probe: is_good_name can be boolean
2015-09-22 13:11:30 -04:00
trace_sched_switch.c
sched/core: Fix trace_sched_switch()
2015-10-06 17:08:15 +02:00
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
tracing: use %*pb[l] to print bitmaps including cpumasks and nodemasks
2015-02-13 21:21:37 -08:00
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
trace_stat.h
trace_syscalls.c
tracing: Move trace_flags from global to a trace_array field
2015-09-30 15:22:55 -04:00
trace_uprobe.c
tracing/uprobes: Do not print '0x (null)' when offset is 0
2015-08-26 10:43:01 -03:00