OSDN Git Service

tracing: Wait for preempt irq delay thread to finish
authorSteven Rostedt (VMware) <rostedt@goodmis.org>
Wed, 6 May 2020 14:20:10 +0000 (10:20 -0400)
committerSteven Rostedt (VMware) <rostedt@goodmis.org>
Thu, 7 May 2020 17:32:40 +0000 (13:32 -0400)
commitd16a8c31077e75ecb9427fbfea59b74eed00f698
tree126e7e7715b2d4a92904fce097df68da3aca8a6d
parent5b4dcd2d201a395ad4054067bfae4a07554fbd65
tracing: Wait for preempt irq delay thread to finish

Running on a slower machine, it is possible that the preempt delay kernel
thread may still be executing if the module was immediately removed after
added, and this can cause the kernel to crash as the kernel thread might be
executing after its code has been removed.

There's no reason that the caller of the code shouldn't just wait for the
delay thread to finish, as the thread can also be created by a trigger in
the sysfs code, which also has the same issues.

Link: http://lore.kernel.org/r/5EA2B0C8.2080706@cn.fujitsu.com
Cc: stable@vger.kernel.org
Fixes: 793937236d1ee ("lib: Add module for testing preemptoff/irqsoff latency tracers")
Reported-by: Xiao Yang <yangx.jy@cn.fujitsu.com>
Reviewed-by: Xiao Yang <yangx.jy@cn.fujitsu.com>
Reviewed-by: Joel Fernandes <joel@joelfernandes.org>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
kernel/trace/preemptirq_delay_test.c