Peter Zijlstra
56f9da8521
trace: Fix preempt_enable_no_resched() abuse
...
commit d6097c9e4454adf1f8f2c9547c2fa6060d55d952 upstream.
Unless the very next line is schedule(), or implies it, one must not use
preempt_enable_no_resched(). It can cause a preemption to go missing and
thereby cause arbitrary delays, breaking the PREEMPT=y invariant.
Link: http://lkml.kernel.org/r/20190423200318.GY14281@hirez.programming.kicks-ass.net
Cc: Waiman Long <longman@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Will Deacon <will.deacon@arm.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: the arch/x86 maintainers <x86@kernel.org>
Cc: Davidlohr Bueso <dave@stgolabs.net>
Cc: Tim Chen <tim.c.chen@linux.intel.com>
Cc: huang ying <huang.ying.caritas@gmail.com>
Cc: Roman Gushchin <guro@fb.com>
Cc: Alexei Starovoitov <ast@kernel.org>
Cc: Daniel Borkmann <daniel@iogearbox.net>
Cc: stable@vger.kernel.org
Fixes: 2c2d7329d8 ("tracing/ftrace: use preempt_enable_no_resched_notrace in ring_buffer_time_stamp()")
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-05-02 09:32:00 +02:00
..
blktrace.c
tracing/blktrace: Fix to allow setting same value
2018-09-09 20:01:22 +02:00
bpf_trace.c
bpf: fix check of allowed specifiers in bpf_trace_printk
2018-12-17 09:38:33 +01:00
ftrace.c
kprobes: Mark ftrace mcount handler functions nokprobe
2019-04-27 09:34:44 +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
trace: Fix preempt_enable_no_resched() abuse
2019-05-02 09:32:00 +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
PM / Runtime: Introduce trace points for tracing rpm_* functions
2011-09-27 22:53:27 +02:00
trace.c
tracing: Fix a memory leak by early error exit in trace_pid_write()
2019-05-02 09:32:00 +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: Fix converting enum's from the map in trace_event_eval_update()
2018-01-23 19:57:07 +01:00
trace_events_filter.c
tracing: Fix regex_match_front() to not over compare the test string
2018-05-16 10:08:43 +02:00
trace_events_filter_test.h
tracing/filter: Add startup tests for events filter
2011-08-19 14:35:59 -04:00
trace_events_hist.c
tracing: Use strncpy instead of memcpy for string keys in hist triggers
2019-03-23 13:19:45 +01:00
trace_events_trigger.c
tracing: Fix memory leak in set_trigger_filter()
2018-12-21 14:11:31 +01: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
tracing: Fix missing return symbol in function_graph output
2018-07-11 16:26:43 +02: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: kdb: Fix ftdump to not sleep
2019-04-05 22:29:05 +02:00
trace_kprobe.c
tracing: Quiet gcc warning about maybe unused link variable
2018-08-03 07:55:12 +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
tracing: probeevent: Fix to support minus offset from symbol
2018-03-28 18:39:23 +02:00
trace_probe.h
tracing: probeevent: Fix to support minus offset from symbol
2018-03-28 18:39:23 +02: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
ftrace: Fix selftest goto location on error
2017-09-27 14:39:23 +02:00
trace_selftest_dynamic.c
ftrace: Add self-tests for multiple function trace users
2011-05-18 19:24:51 -04:00
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
tracing/uprobes: Fix output for multiple string arguments
2019-02-20 10:18:32 +01:00
tracing_map.c
tracing: Fix kmemleak in tracing_map_array_free()
2017-08-30 10:21:49 +02:00
tracing_map.h
tracing: Update some tracing_map constants and comments
2016-04-19 12:16:06 -04:00