[PATCH 2/2] ring-buffer: Fix a race between readers and resize checks

2024-05-17 Thread Petr Pavlu
ng_buffer_per_cpu by taking its cpu_buffer->reader_lock. Fixes: 659f451ff213 ("ring-buffer: Add integrity check at end of iter read") Signed-off-by: Petr Pavlu --- kernel/trace/ring_buffer.c | 10 ++ 1 file changed, 10 insertions(+) diff --git a/kernel/trace/ring_buffer.c b/k

[PATCH 1/2] ring-buffer: Correct stale comments related to non-consuming readers

2024-05-17 Thread Petr Pavlu
. Nonetheless, the lock is still needed because a reader swapping a page into the ring buffer can make the underlying doubly-linked list temporarily inconsistent. This is a non-functional change. Signed-off-by: Petr Pavlu --- kernel/trace/ring_buffer.c | 16 +++- 1 file chang

[PATCH 0/2] ring-buffer: Fix a race between readers and resize checks

2024-05-17 Thread Petr Pavlu
to exist for ring_buffer_subbuf_order_set() too. I plan to tackle it in a separate series. Petr Pavlu (2): ring-buffer: Correct stale comments related to non-consuming readers ring-buffer: Fix a race between readers and resize checks kernel/trace/ring_buffer.c | 26

[PATCH] tracing: Fix HAVE_DYNAMIC_FTRACE_WITH_REGS ifdef

2024-02-13 Thread Petr Pavlu
he missing "CONFIG_" prefix for the logic to work as intended. Fixes: a8b9cf62ade1 ("ftrace: Fix DIRECT_CALLS to use SAVE_REGS by default") Signed-off-by: Petr Pavlu --- kernel/trace/ftrace.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/trace/ft

[PATCH] tracing: Ensure visibility when inserting an element into tracing_map

2024-01-22 Thread Petr Pavlu
potential races which result in duplicates but merged them later when they occurred. Fixes: c193707dde77 ("tracing: Remove code which merges duplicates") Signed-off-by: Petr Pavlu --- kernel/trace/tracing_map.c | 7 ++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --g

[PATCH v2 3/3] tracing: Fix a possible race when disabling buffered events

2023-12-05 Thread Petr Pavlu
ing: Use temp buffer when filtering events") Signed-off-by: Petr Pavlu --- kernel/trace/trace.c | 12 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c index dd45020fcdde..dc234b5dde47 100644 --- a/kernel/trace/trace.c +++ b/ke

[PATCH v2 2/3] tracing: Fix a warning when allocating buffered events fails

2023-12-05 Thread Petr Pavlu
the first failure and left any cleanup later to when trace_buffered_event_disable() is called. Fixes: 0fc1b09ff1ff ("tracing: Use temp buffer when filtering events") Signed-off-by: Petr Pavlu --- kernel/trace/trace.c | 11 +-- 1 file changed, 5 insertions(+), 6 deletions(-) diff

[PATCH v2 1/3] tracing: Fix incomplete locking when disabling buffered events

2023-12-05 Thread Petr Pavlu
okes a given callback on all CPUs. Fixes: 0fc1b09ff1ff ("tracing: Use temp buffer when filtering events") Fixes: dea499781a11 ("tracing: Fix warning in trace_buffered_event_disable()") Signed-off-by: Petr Pavlu --- kernel/trace/trace.c | 12 1 file changed, 4 insertions(+

[PATCH v2 0/3] tracing: Simplify and fix "buffered event" synchronization

2023-12-05 Thread Petr Pavlu
/20231127151248.7232-1-petr.pa...@suse.com/ Petr Pavlu (3): tracing: Fix incomplete locking when disabling buffered events tracing: Fix a warning when allocating buffered events fails tracing: Fix a possible race when disabling buffered events kernel/trace/trace.c | 35 +-- 1

Re: [PATCH 1/2] tracing: Simplify and fix "buffered event" synchronization

2023-12-05 Thread Petr Pavlu
On 12/1/23 15:46, Steven Rostedt wrote: > On Fri, 1 Dec 2023 15:17:35 +0100 > Petr Pavlu wrote: > >> Ok, keeping the current approach, my plan for v2 is to prepare the >> following patches: >> >> [...] >> * Fix the potential r

Re: [PATCH 1/2] tracing: Simplify and fix "buffered event" synchronization

2023-12-01 Thread Petr Pavlu
On 11/29/23 15:58, Steven Rostedt wrote: > On Wed, 29 Nov 2023 10:22:23 +0100 > Petr Pavlu wrote: > >> Yes, I believe this should address this potential race condition. >> >> An alternative would be instead to update >> trace_event

Re: [PATCH 1/2] tracing: Simplify and fix "buffered event" synchronization

2023-11-29 Thread Petr Pavlu
On 11/28/23 16:27, Steven Rostedt wrote: > On Tue, 28 Nov 2023 16:05:00 +0100 > Petr Pavlu wrote: > >> On 11/27/23 18:41, Steven Rostedt wrote: >>> On Mon, 27 Nov 2023 16:12:47 +0100 >>> Petr Pavlu wrote: >>> >>>> The following warning

Re: [PATCH 1/2] tracing: Simplify and fix "buffered event" synchronization

2023-11-28 Thread Petr Pavlu
On 11/27/23 18:41, Steven Rostedt wrote: > On Mon, 27 Nov 2023 16:12:47 +0100 > Petr Pavlu wrote: > >> The following warning appears when using buffered events: >> [ 203.556451] WARNING: CPU: 53 PID: 10220 at >> kernel/trace/ring_buffer.c:3912 ring_buffer_discard_com

[PATCH 2/2] tracing: Disable events in reverse order of their enable operation

2023-11-27 Thread Petr Pavlu
an event would be still registered and could be hit, but would unnecessarily go directly to a ring buffer. * The SOFT_DISABLED flag is now consistently set only when SOFT_MODE is also set. Signed-off-by: Petr Pavlu --- kernel/trace/trace_events.c | 17 ++--- 1 file changed, 10

[PATCH 0/2] tracing: Simplify and fix "buffered event" synchronization

2023-11-27 Thread Petr Pavlu
Rework the maintenance synchronization for buffered events to simplify it and to address several found problems. Petr Pavlu (2): tracing: Simplify and fix "buffered event" synchronization tracing: Disable events in reverse order of their enable operation kernel/trace/trace.c

[PATCH 1/2] tracing: Simplify and fix "buffered event" synchronization

2023-11-27 Thread Petr Pavlu
Use temp buffer when filtering events") Fixes: dea499781a11 ("tracing: Fix warning in trace_buffered_event_disable()") Signed-off-by: Petr Pavlu --- kernel/trace/trace.c | 66 ++-- 1 file changed, 27 insertions(+), 39 deletions(-) diff --git a/k