Patch "tracing: Fix trace_pipe behavior for instance traces" has been added to the 4.13-stable tree
Subsystems (2)
This is a note to let you know that I've just added the patch titled
tracing: Fix trace_pipe behavior for instance traces
to the 4.13-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
tracing-fix-trace_pipe-behavior-for-instance-traces.patch
and it can be found in the queue-4.13 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
75df6e688ccd517e339a7c422ef7ad73045b18a2Mon Sep 17 00:00:00 2001
From: Tahsin Erdogan <[email protected]>
Date: Sun, 17 Sep 2017 03:23:48 -0700
Subject: tracing: Fix trace_pipe behavior for instance traces
From: Tahsin Erdogan <[email protected]>
commit 75df6e688ccd517e339a7c422ef7ad73045b18a2 upstream.
When reading data from trace_pipe, tracing_wait_pipe() performs a check to see if tracing has been turned off after some data was read. Currently, this check always looks at global trace state, but it should be checking the trace instance where trace_pipe is located at.
Because of this bug, cat instances/i1/trace_pipe in the following script will immediately exit instead of waiting for data:
cd /sys/kernel/debug/tracing
echo 0 > tracing_on
mkdir -p instances/i1
echo 1 > instances/i1/tracing_on
echo 1 > instances/i1/events/sched/sched_process_exec/enable cat instances/i1/trace_pipe
--- kernel/trace/trace.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
kernel/trace/trace.c +1 -1
@@ -5664,7 +5664,7 @@ static int tracing_wait_pipe(struct file* * iter->pos will be 0 if we haven't read anything. */ -if (!tracing_is_on () && iter->pos) +if (!tracer_tracing_is_on (iter->tr) && iter->pos)break ;mutex_unlock (&iter->mutex);
Patches currently in stable-queue which might be from [email protected] are
queue-4.13/tracing-fix-trace_pipe-behavior-for-instance-traces.patch