From: Kris Van Hees Date: Thu, 12 Jan 2012 14:25:35 +0000 (-0500) Subject: dtrace: ensure that the trap handler is regisstered only once X-Git-Tag: v4.1.12-92~313^2~155 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=8954e594bb56eea2eb2aafe4af5d6985985b2258;p=users%2Fjedix%2Flinux-maple.git dtrace: ensure that the trap handler is regisstered only once Register with first use. Signed-off-by: Kris Van Hees --- diff --git a/init/main.c b/init/main.c index 84dade25d3ca..cc9bb01104b0 100644 --- a/init/main.c +++ b/init/main.c @@ -674,12 +674,6 @@ asmlinkage __visible void __init start_kernel(void) ftrace_init(); -#if defined(CONFIG_DT_SDT) || defined(CONFIG_DT_SDT_MODULE) -# if FIXME - dtrace_register_builtins(); -# endif -#endif - /* Do the rest non-__init'ed, we're now alive */ rest_init(); } diff --git a/kernel/dtrace/dtrace_os.c b/kernel/dtrace/dtrace_os.c index 3a8caf87ec6e..b20e9bc8c3aa 100644 --- a/kernel/dtrace/dtrace_os.c +++ b/kernel/dtrace/dtrace_os.c @@ -325,8 +325,10 @@ static int dtrace_enabled = 0; void dtrace_enable(void) { - if (!dtrace_enabled) + if (!dtrace_enabled) { register_die_notifier(&dtrace_die); + dtrace_enabled = 1; + } } EXPORT_SYMBOL(dtrace_enable); @@ -336,6 +338,7 @@ void dtrace_disable(void) return; unregister_die_notifier(&dtrace_die); + dtrace_enabled = 0; } EXPORT_SYMBOL(dtrace_disable);