@@ -73,6 +73,10 @@ static struct trace_event_file *gen_kretprobe_test;
73
73
#define KPROBE_GEN_TEST_ARG3 NULL
74
74
#endif
75
75
76
+ static bool trace_event_file_is_valid (struct trace_event_file * input )
77
+ {
78
+ return input && !IS_ERR (input );
79
+ }
76
80
77
81
/*
78
82
* Test to make sure we can create a kprobe event, then add more
@@ -217,10 +221,12 @@ static int __init kprobe_event_gen_test_init(void)
217
221
218
222
ret = test_gen_kretprobe_cmd ();
219
223
if (ret ) {
220
- WARN_ON (trace_array_set_clr_event (gen_kretprobe_test -> tr ,
221
- "kprobes" ,
222
- "gen_kretprobe_test" , false));
223
- trace_put_event_file (gen_kretprobe_test );
224
+ if (trace_event_file_is_valid (gen_kretprobe_test )) {
225
+ WARN_ON (trace_array_set_clr_event (gen_kretprobe_test -> tr ,
226
+ "kprobes" ,
227
+ "gen_kretprobe_test" , false));
228
+ trace_put_event_file (gen_kretprobe_test );
229
+ }
224
230
WARN_ON (kprobe_event_delete ("gen_kretprobe_test" ));
225
231
}
226
232
@@ -229,24 +235,30 @@ static int __init kprobe_event_gen_test_init(void)
229
235
230
236
static void __exit kprobe_event_gen_test_exit (void )
231
237
{
232
- /* Disable the event or you can't remove it */
233
- WARN_ON (trace_array_set_clr_event (gen_kprobe_test -> tr ,
234
- "kprobes" ,
235
- "gen_kprobe_test" , false));
238
+ if (trace_event_file_is_valid (gen_kprobe_test )) {
239
+ /* Disable the event or you can't remove it */
240
+ WARN_ON (trace_array_set_clr_event (gen_kprobe_test -> tr ,
241
+ "kprobes" ,
242
+ "gen_kprobe_test" , false));
243
+
244
+ /* Now give the file and instance back */
245
+ trace_put_event_file (gen_kprobe_test );
246
+ }
236
247
237
- /* Now give the file and instance back */
238
- trace_put_event_file (gen_kprobe_test );
239
248
240
249
/* Now unregister and free the event */
241
250
WARN_ON (kprobe_event_delete ("gen_kprobe_test" ));
242
251
243
- /* Disable the event or you can't remove it */
244
- WARN_ON (trace_array_set_clr_event (gen_kretprobe_test -> tr ,
245
- "kprobes" ,
246
- "gen_kretprobe_test" , false));
252
+ if (trace_event_file_is_valid (gen_kretprobe_test )) {
253
+ /* Disable the event or you can't remove it */
254
+ WARN_ON (trace_array_set_clr_event (gen_kretprobe_test -> tr ,
255
+ "kprobes" ,
256
+ "gen_kretprobe_test" , false));
257
+
258
+ /* Now give the file and instance back */
259
+ trace_put_event_file (gen_kretprobe_test );
260
+ }
247
261
248
- /* Now give the file and instance back */
249
- trace_put_event_file (gen_kretprobe_test );
250
262
251
263
/* Now unregister and free the event */
252
264
WARN_ON (kprobe_event_delete ("gen_kretprobe_test" ));
0 commit comments