@@ -917,10 +917,10 @@ static int __trace_eprobe_create(int argc, const char *argv[])
917
917
goto error ;
918
918
}
919
919
920
- mutex_lock ( & event_mutex );
921
- event_call = find_and_get_event (sys_name , sys_event );
922
- ep = alloc_event_probe (group , event , event_call , argc - 2 );
923
- mutex_unlock ( & event_mutex );
920
+ scoped_guard ( mutex , & event_mutex ) {
921
+ event_call = find_and_get_event (sys_name , sys_event );
922
+ ep = alloc_event_probe (group , event , event_call , argc - 2 );
923
+ }
924
924
925
925
if (IS_ERR (ep )) {
926
926
ret = PTR_ERR (ep );
@@ -952,23 +952,21 @@ static int __trace_eprobe_create(int argc, const char *argv[])
952
952
if (ret < 0 )
953
953
goto error ;
954
954
init_trace_eprobe_call (ep );
955
- mutex_lock (& event_mutex );
956
- ret = trace_probe_register_event_call (& ep -> tp );
957
- if (ret ) {
958
- if (ret == - EEXIST ) {
959
- trace_probe_log_set_index (0 );
960
- trace_probe_log_err (0 , EVENT_EXIST );
955
+ scoped_guard (mutex , & event_mutex ) {
956
+ ret = trace_probe_register_event_call (& ep -> tp );
957
+ if (ret ) {
958
+ if (ret == - EEXIST ) {
959
+ trace_probe_log_set_index (0 );
960
+ trace_probe_log_err (0 , EVENT_EXIST );
961
+ }
962
+ goto error ;
963
+ }
964
+ ret = dyn_event_add (& ep -> devent , & ep -> tp .event -> call );
965
+ if (ret < 0 ) {
966
+ trace_probe_unregister_event_call (& ep -> tp );
967
+ goto error ;
961
968
}
962
- mutex_unlock (& event_mutex );
963
- goto error ;
964
- }
965
- ret = dyn_event_add (& ep -> devent , & ep -> tp .event -> call );
966
- if (ret < 0 ) {
967
- trace_probe_unregister_event_call (& ep -> tp );
968
- mutex_unlock (& event_mutex );
969
- goto error ;
970
969
}
971
- mutex_unlock (& event_mutex );
972
970
return ret ;
973
971
parse_error :
974
972
ret = - EINVAL ;
0 commit comments