kernel_samsung_a53x/kernel/trace
linke li e7b2c79d6c ring-buffer: use READ_ONCE() to read cpu_buffer->commit_page in concurrent environment
[ Upstream commit f1e30cb6369251c03f63c564006f96a54197dcc4 ]

In function ring_buffer_iter_empty(), cpu_buffer->commit_page is read
while other threads may change it. It may cause the time_stamp that read
in the next line come from a different page. Use READ_ONCE() to avoid
having to reason about compiler optimizations now and in future.

Link: https://lore.kernel.org/linux-trace-kernel/tencent_DFF7D3561A0686B5E8FC079150A02505180A@qq.com

Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: linke li <lilinke99@qq.com>
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-11-19 09:23:15 +01:00
..
blktrace.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
bpf_trace.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
bpf_trace.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
error_report-traces.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
fgraph.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ftrace.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ftrace_internal.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ipc_logging.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ipc_logging_debug.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ipc_logging_private.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Kconfig Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
kprobe_event_gen_test.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Makefile Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
power-traces.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
preemptirq_delay_test.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ring_buffer.c ring-buffer: use READ_ONCE() to read cpu_buffer->commit_page in concurrent environment 2024-11-19 09:23:15 +01:00
ring_buffer_benchmark.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
rpm-traces.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
synth_event_gen_test.c tracing / synthetic: Disable events after testing in synth_event_gen_test_init() 2024-11-18 12:12:01 +01:00
trace.c tracing: Inform kmemleak of saved_cmdlines allocation 2024-11-18 12:13:33 +01:00
trace.h Revert "tracing: Have trace_event_file have ref counters" 2024-11-18 11:57:24 +01:00
trace_benchmark.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
trace_benchmark.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
trace_boot.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
trace_branch.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
trace_clock.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
trace_dynevent.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
trace_dynevent.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
trace_entries.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
trace_event_perf.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
trace_events.c Revert "tracing: Have trace_event_file have ref counters" 2024-11-18 11:57:24 +01:00
trace_events_filter.c Revert "tracing: Have trace_event_file have ref counters" 2024-11-18 11:57:24 +01:00
trace_events_filter_test.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
trace_events_hist.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
trace_events_inject.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
trace_events_synth.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
trace_events_trigger.c tracing/trigger: Fix to return error if failed to alloc snapshot 2024-11-18 12:13:28 +01:00
trace_export.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
trace_functions.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
trace_functions_graph.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
trace_hwlat.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
trace_irqsoff.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
trace_kdb.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
trace_kprobe.c tracing/kprobes: Fix the order of argument descriptions 2024-11-18 11:43:11 +01:00
trace_kprobe_selftest.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
trace_kprobe_selftest.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
trace_mmiotrace.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
trace_nop.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
trace_output.c tracing: Add size check when printing trace_marker output 2024-11-18 12:12:16 +01:00
trace_output.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
trace_preemptirq.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
trace_printk.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
trace_probe.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
trace_probe.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
trace_probe_tmpl.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
trace_readwrite.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
trace_sched_switch.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
trace_sched_wakeup.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
trace_selftest.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
trace_selftest_dynamic.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
trace_seq.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
trace_stack.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
trace_stat.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
trace_stat.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
trace_synth.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
trace_syscalls.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
trace_uprobe.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
tracing_map.c tracing: Ensure visibility when inserting an element into tracing_map 2024-11-18 12:13:00 +01:00
tracing_map.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00