Просмотр исходного кода

tracepoints: samples, fix teardown

Impact: fix a bug in sample tracepoints

Need a tracepoint_synchronize_unregister() before the end of exit() to
make sure every probe callers have exited the non preemptible section
and thus are not executing the probe code anymore.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Mathieu Desnoyers 16 лет назад
Родитель
Сommit
2504ea5edf

+ 1 - 0
samples/tracepoints/tracepoint-probe-sample.c

@@ -46,6 +46,7 @@ void __exit tp_sample_trace_exit(void)
 {
 {
 	unregister_trace_subsys_eventb(probe_subsys_eventb);
 	unregister_trace_subsys_eventb(probe_subsys_eventb);
 	unregister_trace_subsys_event(probe_subsys_event);
 	unregister_trace_subsys_event(probe_subsys_event);
+	tracepoint_synchronize_unregister();
 }
 }
 
 
 module_exit(tp_sample_trace_exit);
 module_exit(tp_sample_trace_exit);

+ 1 - 0
samples/tracepoints/tracepoint-probe-sample2.c

@@ -33,6 +33,7 @@ module_init(tp_sample_trace_init);
 void __exit tp_sample_trace_exit(void)
 void __exit tp_sample_trace_exit(void)
 {
 {
 	unregister_trace_subsys_event(probe_subsys_event);
 	unregister_trace_subsys_event(probe_subsys_event);
+	tracepoint_synchronize_unregister();
 }
 }
 
 
 module_exit(tp_sample_trace_exit);
 module_exit(tp_sample_trace_exit);