mirror of
https://github.com/tbsdtv/linux_media.git
synced 2025-07-23 12:43:29 +02:00
tracing: Do not synchronize freeing of trigger filter on boot up
If a trigger filter on the kernel command line fails to apply (due to syntax error), it will be freed. The freeing will call tracepoint_synchronize_unregister(), but this is not needed during early boot up, and will even trigger a lockdep splat. Avoid calling the synchronization function when system_state is SYSTEM_BOOTING. Link: https://lore.kernel.org/linux-trace-kernel/20221213172429.7774f4ba@gandalf.local.home Cc: Andrew Morton <akpm@linux-foundation.org> Acked-by: Masami Hiramatsu (Google) <mhiramat@kernel.org> Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
This commit is contained in:
@@ -1085,8 +1085,14 @@ int set_trigger_filter(char *filter_str,
|
|||||||
rcu_assign_pointer(data->filter, filter);
|
rcu_assign_pointer(data->filter, filter);
|
||||||
|
|
||||||
if (tmp) {
|
if (tmp) {
|
||||||
/* Make sure the call is done with the filter */
|
/*
|
||||||
tracepoint_synchronize_unregister();
|
* Make sure the call is done with the filter.
|
||||||
|
* It is possible that a filter could fail at boot up,
|
||||||
|
* and then this path will be called. Avoid the synchronization
|
||||||
|
* in that case.
|
||||||
|
*/
|
||||||
|
if (system_state != SYSTEM_BOOTING)
|
||||||
|
tracepoint_synchronize_unregister();
|
||||||
free_event_filter(tmp);
|
free_event_filter(tmp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user