perf intel-pt: Fix next 'err' value, walking trace
authorAdrian Hunter <adrian.hunter@intel.com>
Fri, 10 Dec 2021 16:23:01 +0000 (18:23 +0200)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Sat, 11 Dec 2021 11:19:47 +0000 (08:19 -0300)
Code after label 'next:' in intel_pt_walk_trace() assumes 'err' is zero,
but it may not be, if arrived at via a 'goto'. Ensure it is zero.

Fixes: 7c1b16ba0e26e6 ("perf intel-pt: Add support for decoding FUP/TIP only")
Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: stable@vger.kernel.org # v5.15+
Link: https://lore.kernel.org/r/20211210162303.2288710-6-adrian.hunter@intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/intel-pt-decoder/intel-pt-decoder.c

index 845b0ca866a4ab6c080ce53d46797971880f48d6..75b504aed7f430ba6afee413742dbb27b1d53b63 100644 (file)
@@ -2942,6 +2942,7 @@ static int intel_pt_walk_trace(struct intel_pt_decoder *decoder)
                if (err)
                        return err;
 next:
+               err = 0;
                if (decoder->cyc_threshold) {
                        if (decoder->sample_cyc && last_packet_type != INTEL_PT_CYC)
                                decoder->sample_cyc = false;