aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdrian Hunter <adrian.hunter@intel.com>2017-03-24 08:15:52 -0400
committerArnaldo Carvalho de Melo <acme@redhat.com>2017-03-27 10:58:08 -0400
commitc3a0bbc7ad7598dec5a204868bdf8a2b1b51df14 (patch)
treefb0a6572c4f724ea8036cdf6baf17259bce07049
parentef65e96e0762cb98d9abeb6737c721ca840f8092 (diff)
perf auxtrace: Fix no_size logic in addr_filter__resolve_kernel_syms()
Address filtering with kernel symbols incorrectly resulted in the error "Cannot determine size of symbol" because the no_size logic was the wrong way around. Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> Tested-by: Andi Kleen <ak@linux.intel.com> Cc: stable@vger.kernel.org # v4.9+ Link: http://lkml.kernel.org/r/1490357752-27942-1-git-send-email-adrian.hunter@intel.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
-rw-r--r--tools/perf/util/auxtrace.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/tools/perf/util/auxtrace.c b/tools/perf/util/auxtrace.c
index c5a6e0b12452..78bd632f144d 100644
--- a/tools/perf/util/auxtrace.c
+++ b/tools/perf/util/auxtrace.c
@@ -1826,7 +1826,7 @@ static int addr_filter__resolve_kernel_syms(struct addr_filter *filt)
1826 filt->addr = start; 1826 filt->addr = start;
1827 if (filt->range && !filt->size && !filt->sym_to) { 1827 if (filt->range && !filt->size && !filt->sym_to) {
1828 filt->size = size; 1828 filt->size = size;
1829 no_size = !!size; 1829 no_size = !size;
1830 } 1830 }
1831 } 1831 }
1832 1832
@@ -1840,7 +1840,7 @@ static int addr_filter__resolve_kernel_syms(struct addr_filter *filt)
1840 if (err) 1840 if (err)
1841 return err; 1841 return err;
1842 filt->size = start + size - filt->addr; 1842 filt->size = start + size - filt->addr;
1843 no_size = !!size; 1843 no_size = !size;
1844 } 1844 }
1845 1845
1846 /* The very last symbol in kallsyms does not imply a particular size */ 1846 /* The very last symbol in kallsyms does not imply a particular size */