Thomas Gleixner
dd0023d710
tracing/kprobes: Enforce kprobes teardown after testing
...
commit 30e7d894c1478c88d50ce94ddcdbd7f9763d9cdd upstream.
Enabling the tracer selftest triggers occasionally the warning in
text_poke(), which warns when the to be modified page is not marked
reserved.
The reason is that the tracer selftest installs kprobes on functions marked
__init for testing. These probes are removed after the tests, but that
removal schedules the delayed kprobes_optimizer work, which will do the
actual text poke. If the work is executed after the init text is freed,
then the warning triggers. The bug can be reproduced reliably when the work
delay is increased.
Flush the optimizer work and wait for the optimizing/unoptimizing lists to
become empty before returning from the kprobes tracer selftest. That
ensures that all operations which were queued due to the probes removal
have completed.
Link: http://lkml.kernel.org/r/20170516094802.76a468bb@gandalf.local.home
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Masami Hiramatsu <mhiramat@kernel.org>
Fixes: 6274de498 ("kprobes: Support delayed unoptimizing")
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-05-25 15:44:47 +02:00
..
blktrace.c
block: Fix secure erase
2016-08-16 09:16:51 -06:00
bpf_trace.c
bpf: add BPF_CALL_x macros for declaring helpers
2016-09-09 19:36:04 -07:00
ftrace.c
ftrace: Fix function pid filter on instances
2017-04-21 09:31:22 +02:00
Kconfig
This release cycle is rather small. Just a few fixes to tracing.
2016-10-06 11:48:41 -07:00
Makefile
Disable the __builtin_return_address() warning globally after all
2016-10-12 10:23:41 -07: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: Have ring_buffer_iter_empty() return true when empty
2017-04-27 09:10:37 +02: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: Allocate the snapshot buffer before enabling probe
2017-04-27 09:10:37 +02:00
trace.h
ftrace: Fix function pid filter on instances
2017-04-21 09:31:22 +02: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
tracing: Add tracepoint benchmark tracepoint
2014-05-29 22:49:54 -04:00
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: Add NMI tracing in hwlat detector
2016-09-02 12:47:55 -04:00
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
tracing: Show the preempt count of when the event was called
2016-06-20 09:54:21 -04: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: Fix use-after-free in hist_register_trigger()
2016-08-02 15:16:30 -04:00
trace_events_trigger.c
tracing: Call traceoff trigger after event is recorded
2016-09-23 09:47:59 -04:00
trace_export.c
tracing: ftrace_event_is_function() can return boolean
2015-11-02 14:28:05 -05:00
trace_functions.c
ftrace: Have set_ftrace_pid use the bitmap like events do
2016-06-20 09:54:19 -04:00
trace_functions_graph.c
fgraph: Handle a case where a tracer ignores set_graph_notrace
2017-01-09 08:32:23 +01:00
trace_hwlat.c
tracing: Fix hwlat kthread migration
2017-02-09 08:08:28 +01: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
tracing: Move trace_flags from global to a trace_array field
2015-09-30 15:22:55 -04:00
trace_kprobe.c
tracing/kprobes: Enforce kprobes teardown after testing
2017-05-25 15:44:47 +02:00
trace_mmiotrace.c
tracing: Expose CPU physical addresses (resource values) for PCI devices
2016-06-20 09:54:22 -04: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: Add NMI tracing in hwlat detector
2016-09-02 12:47: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: Handle NULL formats in hold_module_trace_bprintk_format()
2016-06-20 09:46:12 -04:00
trace_probe.c
ftrace: kprobe: uprobe: Show u8/u16/u32/u64 types in decimal
2016-08-23 17:06:38 -03:00
trace_probe.h
ftrace: kprobe: uprobe: Show u8/u16/u32/u64 types in decimal
2016-08-23 17:06:38 -03: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
Seems that Peter Zijlstra added a new check that is making old
2014-10-12 07:28:55 -04:00
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
kernel/...: convert pr_warning to pr_warn
2016-03-22 15:36:02 -07:00
trace_stat.h
trace_syscalls.c
tracing/syscalls: fix multiline in error message text
2016-09-29 10:25:23 +02:00
trace_uprobe.c
This release cycle is rather small. Just a few fixes to tracing.
2016-10-06 11:48:41 -07: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