Files
linux/kernel
Prateek Sood 0e48d030e3 tracing: Fix lock inversion in trace_event_enable_tgid_record()
commit 3a53acf1d9 upstream.

       Task T2                             Task T3
trace_options_core_write()            subsystem_open()

 mutex_lock(trace_types_lock)           mutex_lock(event_mutex)

 set_tracer_flag()

   trace_event_enable_tgid_record()       mutex_lock(trace_types_lock)

    mutex_lock(event_mutex)

This gives a circular dependency deadlock between trace_types_lock and
event_mutex. To fix this invert the usage of trace_types_lock and
event_mutex in trace_options_core_write(). This keeps the sequence of
lock usage consistent.

Link: http://lkml.kernel.org/r/0101016eef175e38-8ca71caf-a4eb-480d-a1e6-6f0bbc015495-000000@us-west-2.amazonses.com

Cc: stable@vger.kernel.org
Fixes: d914ba37d7 ("tracing: Add support for recording tgid of tasks")
Signed-off-by: Prateek Sood <prsood@codeaurora.org>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-01-09 10:19:02 +01:00
..
2019-12-01 09:17:13 +01:00
2019-12-13 08:51:11 +01:00
2019-05-31 06:46:17 -07:00
2019-12-01 09:17:17 +01:00
2018-04-27 14:34:51 +02:00
2019-12-01 09:17:38 +01:00
2019-01-13 09:51:06 +01:00
2018-07-03 09:20:44 +02:00
2020-01-09 10:18:59 +01:00
2018-06-07 16:56:28 -04:00