• Adrian Hunter's avatar
    perf auxtrace: Fix address filter entire kernel size · 1f9f33cc
    Adrian Hunter authored
    kallsyms is not completely in address order.
    
    In find_entire_kern_cb(), calculate the kernel end from the maximum
    address not the last symbol.
    
    Example:
    
     Before:
    
        $ sudo cat /proc/kallsyms | grep ' [twTw] ' | tail -1
        ffffffffc00b8bd0 t bpf_prog_6deef7357e7b4530    [bpf]
        $ sudo cat /proc/kallsyms | grep ' [twTw] ' | sort | tail -1
        ffffffffc15e0cc0 t iwl_mvm_exit [iwlmvm]
        $ perf.d093603a05aa record -v --kcore -e intel_pt// --filter 'filter *' -- uname |& grep filter
        Address filter: filter 0xffffffff93200000/0x2ceba000
    
     After:
    
        $ perf.8fb0f7a01f8e record -v --kcore -e intel_pt// --filter 'filter *' -- uname |& grep filter
        Address filter: filter 0xffffffff93200000/0x2e3e2000
    
    Fixes: 1b36c03e ("perf record: Add support for using symbols in address filters")
    Signed-off-by: default avatarAdrian Hunter <adrian.hunter@intel.com>
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Ian Rogers <irogers@google.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: stable@vger.kernel.org
    Link: https://lore.kernel.org/r/20230403154831.8651-2-adrian.hunter@intel.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    1f9f33cc
auxtrace.c 64.7 KB