Miguel Ojeda
2e41539ee2
tracing: Silence GCC 9 array bounds warning
...
commit 0c97bf863efce63d6ab7971dad811601e6171d2f upstream.
Starting with GCC 9, -Warray-bounds detects cases when memset is called
starting on a member of a struct but the size to be cleared ends up
writing over further members.
Such a call happens in the trace code to clear, at once, all members
after and including `seq` on struct trace_iterator:
In function 'memset',
inlined from 'ftrace_dump' at kernel/trace/trace.c:8914:3:
./include/linux/string.h:344:9: warning: '__builtin_memset' offset
[8505, 8560] from the object at 'iter' is out of the bounds of
referenced subobject 'seq' with type 'struct trace_seq' at offset
4368 [-Warray-bounds]
344 | return __builtin_memset(p, c, size);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In order to avoid GCC complaining about it, we compute the address
ourselves by adding the offsetof distance instead of referring
directly to the member.
Since there are two places doing this clear (trace.c and trace_kdb.c),
take the chance to move the workaround into a single place in
the internal header.
Link: http://lkml.kernel.org/r/20190523124535.GA12931@gmail.com
Signed-off-by: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com>
[ Removed unnecessary parenthesis around "iter" ]
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-07-10 09:55:28 +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
trace.c
tracing: Silence GCC 9 array bounds warning
2019-07-10 09:55:28 +02:00
trace.h
tracing: Silence GCC 9 array bounds warning
2019-07-10 09:55:28 +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
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 partial reading of trace event's id file
2019-05-25 18:26:49 +02: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
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: Silence GCC 9 array bounds warning
2019-07-10 09:55:28 +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
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