Skip to content

Commit 41051da

Browse files
committed
tracing/kprobe: Integrate test warnings into WARN_ONCE
Cleanup the redundant WARN_ON_ONCE(cond) + pr_warn(msg) into WARN_ONCE(cond, msg). Also add some WARN_ONCE() for hitcount check. These WARN_ONCE() errors makes it easy to handle errors from ktest. Link: https://lore.kernel.org/all/171811264685.85078.8068819097047430463.stgit@devnote2/ Suggested-by: Steven Rostedt <[email protected]> Signed-off-by: Masami Hiramatsu (Google) <[email protected]> Reviewed-by: Steven Rostedt (Google) <[email protected]>
1 parent 30addd1 commit 41051da

File tree

1 file changed

+19
-35
lines changed

1 file changed

+19
-35
lines changed

kernel/trace/trace_kprobe.c

Lines changed: 19 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -2023,19 +2023,16 @@ static __init int kprobe_trace_self_tests_init(void)
20232023
pr_info("Testing kprobe tracing: ");
20242024

20252025
ret = create_or_delete_trace_kprobe("p:testprobe kprobe_trace_selftest_target $stack $stack0 +0($stack)");
2026-
if (WARN_ON_ONCE(ret)) {
2027-
pr_warn("error on probing function entry.\n");
2026+
if (WARN_ONCE(ret, "error on probing function entry.")) {
20282027
warn++;
20292028
} else {
20302029
/* Enable trace point */
20312030
tk = find_trace_kprobe("testprobe", KPROBE_EVENT_SYSTEM);
2032-
if (WARN_ON_ONCE(tk == NULL)) {
2033-
pr_warn("error on getting new probe.\n");
2031+
if (WARN_ONCE(tk == NULL, "error on probing function entry.")) {
20342032
warn++;
20352033
} else {
20362034
file = find_trace_probe_file(tk, top_trace_array());
2037-
if (WARN_ON_ONCE(file == NULL)) {
2038-
pr_warn("error on getting probe file.\n");
2035+
if (WARN_ONCE(file == NULL, "error on getting probe file.")) {
20392036
warn++;
20402037
} else
20412038
enable_trace_kprobe(
@@ -2044,19 +2041,16 @@ static __init int kprobe_trace_self_tests_init(void)
20442041
}
20452042

20462043
ret = create_or_delete_trace_kprobe("r:testprobe2 kprobe_trace_selftest_target $retval");
2047-
if (WARN_ON_ONCE(ret)) {
2048-
pr_warn("error on probing function return.\n");
2044+
if (WARN_ONCE(ret, "error on probing function return.")) {
20492045
warn++;
20502046
} else {
20512047
/* Enable trace point */
20522048
tk = find_trace_kprobe("testprobe2", KPROBE_EVENT_SYSTEM);
2053-
if (WARN_ON_ONCE(tk == NULL)) {
2054-
pr_warn("error on getting 2nd new probe.\n");
2049+
if (WARN_ONCE(tk == NULL, "error on getting 2nd new probe.")) {
20552050
warn++;
20562051
} else {
20572052
file = find_trace_probe_file(tk, top_trace_array());
2058-
if (WARN_ON_ONCE(file == NULL)) {
2059-
pr_warn("error on getting probe file.\n");
2053+
if (WARN_ONCE(file == NULL, "error on getting probe file.")) {
20602054
warn++;
20612055
} else
20622056
enable_trace_kprobe(
@@ -2079,61 +2073,51 @@ static __init int kprobe_trace_self_tests_init(void)
20792073

20802074
/* Disable trace points before removing it */
20812075
tk = find_trace_kprobe("testprobe", KPROBE_EVENT_SYSTEM);
2082-
if (WARN_ON_ONCE(tk == NULL)) {
2083-
pr_warn("error on getting test probe.\n");
2076+
if (WARN_ONCE(tk == NULL, "error on getting test probe.")) {
20842077
warn++;
20852078
} else {
2086-
if (trace_kprobe_nhit(tk) != 1) {
2087-
pr_warn("incorrect number of testprobe hits\n");
2079+
if (WARN_ONCE(trace_kprobe_nhit(tk) != 1,
2080+
"incorrect number of testprobe hits."))
20882081
warn++;
2089-
}
20902082

20912083
file = find_trace_probe_file(tk, top_trace_array());
2092-
if (WARN_ON_ONCE(file == NULL)) {
2093-
pr_warn("error on getting probe file.\n");
2084+
if (WARN_ONCE(file == NULL, "error on getting probe file.")) {
20942085
warn++;
20952086
} else
20962087
disable_trace_kprobe(
20972088
trace_probe_event_call(&tk->tp), file);
20982089
}
20992090

21002091
tk = find_trace_kprobe("testprobe2", KPROBE_EVENT_SYSTEM);
2101-
if (WARN_ON_ONCE(tk == NULL)) {
2102-
pr_warn("error on getting 2nd test probe.\n");
2092+
if (WARN_ONCE(tk == NULL, "error on getting 2nd test probe.")) {
21032093
warn++;
21042094
} else {
2105-
if (trace_kprobe_nhit(tk) != 1) {
2106-
pr_warn("incorrect number of testprobe2 hits\n");
2095+
if (WARN_ONCE(trace_kprobe_nhit(tk) != 1,
2096+
"incorrect number of testprobe2 hits."))
21072097
warn++;
2108-
}
21092098

21102099
file = find_trace_probe_file(tk, top_trace_array());
2111-
if (WARN_ON_ONCE(file == NULL)) {
2112-
pr_warn("error on getting probe file.\n");
2100+
if (WARN_ONCE(file == NULL, "error on getting probe file.")) {
21132101
warn++;
21142102
} else
21152103
disable_trace_kprobe(
21162104
trace_probe_event_call(&tk->tp), file);
21172105
}
21182106

21192107
ret = create_or_delete_trace_kprobe("-:testprobe");
2120-
if (WARN_ON_ONCE(ret)) {
2121-
pr_warn("error on deleting a probe.\n");
2108+
if (WARN_ONCE(ret, "error on deleting a probe."))
21222109
warn++;
2123-
}
21242110

21252111
ret = create_or_delete_trace_kprobe("-:testprobe2");
2126-
if (WARN_ON_ONCE(ret)) {
2127-
pr_warn("error on deleting a probe.\n");
2112+
if (WARN_ONCE(ret, "error on deleting a probe."))
21282113
warn++;
2129-
}
2114+
21302115

21312116
end:
21322117
ret = dyn_events_release_all(&trace_kprobe_ops);
2133-
if (WARN_ON_ONCE(ret)) {
2134-
pr_warn("error on cleaning up probes.\n");
2118+
if (WARN_ONCE(ret, "error on cleaning up probes."))
21352119
warn++;
2136-
}
2120+
21372121
/*
21382122
* Wait for the optimizer work to finish. Otherwise it might fiddle
21392123
* with probes in already freed __init text.

0 commit comments

Comments
 (0)