Skip to content

Commit 4e83017

Browse files
committed
tracing/eprobe: Adopt guard() and scoped_guard()
Use guard() or scoped_guard() in eprobe events for critical sections rather than discrete lock/unlock pairs. Link: https://lore.kernel.org/all/173289890996.73724.17421347964110362029.stgit@devnote2/ Signed-off-by: Masami Hiramatsu (Google) <[email protected]>
1 parent f882173 commit 4e83017

File tree

1 file changed

+17
-19
lines changed

1 file changed

+17
-19
lines changed

kernel/trace/trace_eprobe.c

Lines changed: 17 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -917,10 +917,10 @@ static int __trace_eprobe_create(int argc, const char *argv[])
917917
goto error;
918918
}
919919

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+
}
924924

925925
if (IS_ERR(ep)) {
926926
ret = PTR_ERR(ep);
@@ -952,23 +952,21 @@ static int __trace_eprobe_create(int argc, const char *argv[])
952952
if (ret < 0)
953953
goto error;
954954
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;
961968
}
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;
970969
}
971-
mutex_unlock(&event_mutex);
972970
return ret;
973971
parse_error:
974972
ret = -EINVAL;

0 commit comments

Comments
 (0)