diff options
author | Adrian Hunter <adrian.hunter@intel.com> | 2017-03-24 08:15:52 -0400 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2017-03-27 10:58:08 -0400 |
commit | c3a0bbc7ad7598dec5a204868bdf8a2b1b51df14 (patch) | |
tree | fb0a6572c4f724ea8036cdf6baf17259bce07049 | |
parent | ef65e96e0762cb98d9abeb6737c721ca840f8092 (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.c | 4 |
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 */ |