Arnaldo Carvalho de Melo
5620196951
perf: Make perf_event_output() propagate the output() return
...
For the original mode of operation it isn't needed, since we report back
errors via PERF_RECORD_LOST records in the ring buffer, but for use in
bpf_perf_event_output() it is convenient to return the errors, basically
-ENOSPC.
Currently bpf_perf_event_output() returns an error indication, the last
thing it does, which is to push it to the ring buffer is that can fail
and if so, this failure won't be reported back to its users, fix it.
Reported-by: Jamal Hadi Salim <jhs@mojatatu.com>
Tested-by: Jamal Hadi Salim <jhs@mojatatu.com>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Alexei Starovoitov <alexei.starovoitov@gmail.com>
Cc: Daniel Borkmann <daniel@iogearbox.net>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Link: https://lkml.kernel.org/r/20190118150938.GN5823@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2019-01-21 17:00:57 -03:00
..
blktrace.c
blkcg: remove bio->bi_css and instead use bio->bi_blkg
2018-12-07 22:26:37 -07:00
bpf_trace.c
perf: Make perf_event_output() propagate the output() return
2019-01-21 17:00:57 -03:00
fgraph.c
tracing: Fix ftrace_graph_get_ret_stack() to use task and not current
2018-12-22 08:21:03 -05:00
ftrace.c
Tracing changes for v4.21:
2018-12-31 11:46:59 -08:00
ftrace_internal.h
ftrace: Create new ftrace_internal.h header
2018-12-08 20:54:06 -05:00
Kconfig
tracing: Use dyn_event framework for synthetic events
2018-12-08 20:54:10 -05:00
Makefile
tracing: Add unified dynamic event framework
2018-12-08 20:54:09 -05:00
power-traces.c
preemptirq_delay_test.c
tracing: Use trace_clock_local() for looping in preemptirq_delay_test.c
2018-10-17 15:35:33 -04:00
ring_buffer.c
Tracing changes for v4.21:
2018-12-31 11:46:59 -08:00
ring_buffer_benchmark.c
tracing: Add SPDX License format tags to tracing files
2018-08-16 19:08:06 -04:00
rpm-traces.c
trace.c
Tracing changes for v4.21:
2018-12-31 11:46:59 -08:00
trace.h
tracing: Add tracefs file buffer_percentage
2018-12-08 20:54:08 -05:00
trace_benchmark.c
rcu: Rename cond_resched_rcu_qs() to cond_resched_tasks_rcu_qs()
2018-05-15 10:27:29 -07:00
trace_benchmark.h
tracing: Fix SPDX format headers to use C++ style comments
2018-08-16 19:08:06 -04:00
trace_branch.c
trace_clock.c
tracing: Add SPDX License format tags to tracing files
2018-08-16 19:08:06 -04:00
trace_dynevent.c
tracing: Add generic event-name based remove event method
2018-12-10 12:22:44 -05:00
trace_dynevent.h
tracing: Add unified dynamic event framework
2018-12-08 20:54:09 -05:00
trace_entries.h
tracing: Fix SPDX format headers to use C++ style comments
2018-08-16 19:08:06 -04:00
trace_event_perf.c
trace_uprobe: support reference counter in fd-based uprobe
2018-10-10 22:14:17 -04:00
trace_events.c
tracing: Use str_has_prefix() instead of using fixed sizes
2018-12-22 22:51:54 -05:00
trace_events_filter.c
Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2018-12-26 13:07:19 -08:00
trace_events_filter_test.h
tracing: Fix SPDX format headers to use C++ style comments
2018-08-16 19:08:06 -04:00
trace_events_hist.c
tracing: Have the historgram use the result of str_has_prefix() for len of prefix
2018-12-22 22:52:09 -05:00
trace_events_trigger.c
tracing: Fix memory leak in set_trigger_filter()
2018-12-11 13:50:19 -05:00
trace_export.c
tracing: Add trigger file for trace_markers tracefs/ftrace/print
2018-05-29 08:28:53 -04:00
trace_functions.c
trace_functions_graph.c
function_graph: Move ftrace_graph_ret_addr() to fgraph.c
2018-12-08 20:54:07 -05:00
trace_hwlat.c
tracing: Add SPDX License format tags to tracing files
2018-08-16 19:08:06 -04:00
trace_irqsoff.c
fgraph: Add new fgraph_ops structure to enable function graph hooks
2018-12-08 20:54:07 -05:00
trace_kdb.c
trace_kprobe.c
tracing/kprobes: Fix NULL pointer dereference in trace_kprobe_create()
2019-01-15 11:33:45 -05:00
trace_kprobe_selftest.c
selftest/ftrace: Move kprobe selftest function to separate compile unit
2018-07-30 18:41:04 -04:00
trace_kprobe_selftest.h
tracing: Fix SPDX format headers to use C++ style comments
2018-08-16 19:08:06 -04:00
trace_mmiotrace.c
trace_nop.c
trace_output.c
tracing: Simplify printf'ing in seq_print_sym
2018-12-22 08:21:06 -05:00
trace_output.h
tracing: Fix SPDX format headers to use C++ style comments
2018-08-16 19:08:06 -04:00
trace_preemptirq.c
tracing: More reverting of "tracing: Centralize preemptirq tracepoints and unify their usage"
2018-08-10 15:12:00 -04:00
trace_printk.c
tracing: Trivia spelling fix containerof() -> container_of()
2018-09-26 12:21:00 +03:00
trace_probe.c
tracing: Use the return of str_has_prefix() to remove open coded numbers
2018-12-22 22:52:30 -05:00
trace_probe.h
tracing/kprobes: Use dyn_event framework for kprobe events
2018-12-08 20:54:09 -05:00
trace_probe_tmpl.h
tracing: probeevent: Add array type support
2018-10-10 22:19:10 -04:00
trace_sched_switch.c
trace_sched_wakeup.c
fgraph: Add new fgraph_ops structure to enable function graph hooks
2018-12-08 20:54:07 -05:00
trace_selftest.c
fgraph: Add new fgraph_ops structure to enable function graph hooks
2018-12-08 20:54:07 -05:00
trace_selftest_dynamic.c
trace_seq.c
tracing: Add SPDX License format tags to tracing files
2018-08-16 19:08:06 -04:00
trace_stack.c
tracing: Use the return of str_has_prefix() to remove open coded numbers
2018-12-22 22:52:30 -05:00
trace_stat.c
trace_stat.h
tracing: Fix SPDX format headers to use C++ style comments
2018-08-16 19:08:06 -04:00
trace_syscalls.c
trace_uprobe.c
tracing: Consolidate trace_add/remove_event_call back to the nolock functions
2018-12-10 12:22:10 -05:00
tracing_map.c
tracing: Add SPDX License format tags to tracing files
2018-08-16 19:08:06 -04:00
tracing_map.h
tracing: Fix SPDX format headers to use C++ style comments
2018-08-16 19:08:06 -04:00