Commit d8d4c6d0 authored by Masami Hiramatsu's avatar Masami Hiramatsu Committed by Steven Rostedt (VMware)
Browse files

tracing: kprobes: Register to dynevent earlier stage

Register kprobe event to dynevent in subsys_initcall level.
This will allow kernel to register new kprobe events in
fs_initcall level via trace_run_command.

Link: http://lkml.kernel.org/r/157867234213.17873.18039000024374948737.stgit@devnote2



Signed-off-by: default avatarMasami Hiramatsu <mhiramat@kernel.org>
Signed-off-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
parent 8cfcf155
Loading
Loading
Loading
Loading
+15 −4
Original line number Diff line number Diff line
@@ -1685,11 +1685,12 @@ static __init void setup_boot_kprobe_events(void)
	enable_boot_kprobe_events();
}

/* Make a tracefs interface for controlling probe points */
static __init int init_kprobe_trace(void)
/*
 * Register dynevent at subsys_initcall. This allows kernel to setup kprobe
 * events in fs_initcall without tracefs.
 */
static __init int init_kprobe_trace_early(void)
{
	struct dentry *d_tracer;
	struct dentry *entry;
	int ret;

	ret = dyn_event_register(&trace_kprobe_ops);
@@ -1699,6 +1700,16 @@ static __init int init_kprobe_trace(void)
	if (register_module_notifier(&trace_kprobe_module_nb))
		return -EINVAL;

	return 0;
}
subsys_initcall(init_kprobe_trace_early);

/* Make a tracefs interface for controlling probe points */
static __init int init_kprobe_trace(void)
{
	struct dentry *d_tracer;
	struct dentry *entry;

	d_tracer = tracing_init_dentry();
	if (IS_ERR(d_tracer))
		return 0;