Commit 4ede1259 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull tracing fix from Steven Rostedt:
 "This fixes a small race between allocating a snapshot buffer and
  setting the snapshot trigger.

  On a slow machine, the trigger can occur before the snapshot is
  allocated causing a warning to be displayed in the ring buffer, and no
  snapshot triggering. Reversing the allocation and the enabling of the
  trigger fixes the problem"

* tag 'trace-v5.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
  tracing: Fix the race between registering 'snapshot' event trigger and triggering 'snapshot' operation
parents 86d32f9a 0bbe7f71
Loading
Loading
Loading
Loading
+3 −7
Original line number Diff line number Diff line
@@ -1088,14 +1088,10 @@ register_snapshot_trigger(char *glob, struct event_trigger_ops *ops,
			  struct event_trigger_data *data,
			  struct trace_event_file *file)
{
	int ret = register_trigger(glob, ops, data, file);

	if (ret > 0 && tracing_alloc_snapshot_instance(file->tr) != 0) {
		unregister_trigger(glob, ops, data, file);
		ret = 0;
	}
	if (tracing_alloc_snapshot_instance(file->tr) != 0)
		return 0;

	return ret;
	return register_trigger(glob, ops, data, file);
}

static int