• Namhyung Kim's avatar
    perf hists: Fix an invalid memory free on he->branch_info · 26353a61
    Namhyung Kim authored
    The branch info was allocated for the whole stack and passed matching
    hist entry for each level during processing samples.  Thus when a hist
    entry tries to free its branch info like in hists__collapse_insert_entry
    it'll face following error.
    
      *** glibc detected *** perf: munmap_chunk(): invalid pointer: 0x00000000014e9d20 ***
      ======= Backtrace: =========
      /lib64/libc.so.6[0x387d47ae16]
      perf[0x4923bd]
      perf(cmd_report+0xd68)[0x432a08]
      perf[0x41a663]
      perf(main+0x58f)[0x419eaf]
      /lib64/libc.so.6(__libc_start_main+0xf5)[0x387d421735]
      perf[0x419f95]
    
    Fix it by allocating and copying branch info for each new hist entry.
    Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
    Cc: Andi Kleen <andi@firstfloor.org>
    Cc: David Ahern <dsahern@gmail.com>
    Cc: Ingo Molnar <mingo@kernel.org>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Cc: Paul Mackerras <paulus@samba.org>
    Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
    Cc: Stephane Eranian <eranian@google.com>
    Link: http://lkml.kernel.org/r/1364816125-12212-2-git-send-email-namhyung@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    26353a61
hist.c 23.5 KB