Prateek Sood 3a53acf1d9 tracing: Fix lock inversion in trace_event_enable_tgid_record()
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: d914ba37d7145 ("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>
2019-12-21 16:05:13 -05:00
..
2019-12-09 10:36:44 -08:00
2019-09-15 21:37:13 +02:00
2019-11-20 14:16:34 +01:00
2019-11-27 11:42:01 -08:00
2019-07-08 18:55:42 -07:00
2019-07-08 18:55:42 -07:00
2019-07-25 08:36:29 -07:00
2019-11-30 14:12:13 -08:00
2019-11-20 09:40:38 +01:00
2019-12-04 19:44:14 -08:00
2019-05-24 20:16:01 +02:00
2019-09-20 11:19:48 -07:00
2019-12-02 17:35:04 -08:00
2019-12-11 12:22:38 -08:00
2019-07-08 19:36:47 -07:00
2019-07-08 19:36:47 -07:00