OSDN Git Service

Merge "icnss: Correct condition to check invalid address range"
[sagit-ice-cold/kernel_xiaomi_msm8998.git] / tools / perf / builtin-probe.c
index 132afc9..66fb1d5 100644 (file)
@@ -405,9 +405,9 @@ static int perf_del_probe_events(struct strfilter *filter)
        }
 
        if (ret == -ENOENT && ret2 == -ENOENT)
-               pr_debug("\"%s\" does not hit any event.\n", str);
-               /* Note that this is silently ignored */
-       ret = 0;
+               pr_warning("\"%s\" does not hit any event.\n", str);
+       else
+               ret = 0;
 
 error:
        if (kfd >= 0)
@@ -613,6 +613,16 @@ __cmd_probe(int argc, const char **argv, const char *prefix __maybe_unused)
 
                ret = perf_add_probe_events(params.events, params.nevents);
                if (ret < 0) {
+
+                       /*
+                        * When perf_add_probe_events() fails it calls
+                        * cleanup_perf_probe_events(pevs, npevs), i.e.
+                        * cleanup_perf_probe_events(params.events, params.nevents), which
+                        * will call clear_perf_probe_event(), so set nevents to zero
+                        * to avoid cleanup_params() to call clear_perf_probe_event() again
+                        * on the same pevs.
+                        */
+                       params.nevents = 0;
                        pr_err_with_code("  Error: Failed to add events.", ret);
                        return ret;
                }