perf auxtrace: Fix no_size logic in addr_filter__resolve_kernel_syms()
authorAdrian Hunter <adrian.hunter@intel.com>
Fri, 24 Mar 2017 12:15:52 +0000 (14:15 +0200)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Mon, 27 Mar 2017 14:58:08 +0000 (11:58 -0300)
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>
tools/perf/util/auxtrace.c

index c5a6e0b124529e876cf9b2844b485b7177e6e4a2..78bd632f144d0eed2846467ca7b45b4338990610 100644 (file)
@@ -1826,7 +1826,7 @@ static int addr_filter__resolve_kernel_syms(struct addr_filter *filt)
                filt->addr = start;
                if (filt->range && !filt->size && !filt->sym_to) {
                        filt->size = size;
-                       no_size = !!size;
+                       no_size = !size;
                }
        }
 
@@ -1840,7 +1840,7 @@ static int addr_filter__resolve_kernel_syms(struct addr_filter *filt)
                if (err)
                        return err;
                filt->size = start + size - filt->addr;
-               no_size = !!size;
+               no_size = !size;
        }
 
        /* The very last symbol in kallsyms does not imply a particular size */