• Arnaldo Carvalho de Melo's avatar
    perf session: Free the ref_reloc_sym memory at the right place · 076c6e45
    Arnaldo Carvalho de Melo authored
    Which is at perf_session__destroy_kernel_maps, counterpart to the
    perf_session__create_kernel_maps where the kmap structure is located, just
    after the vmlinux_maps.
    
    Make it also check if the kernel maps were actually created, which may not
    be the case if, for instance, perf_session__new can't complete due to
    permission problems in, for instance, a 'perf report' case, when a
    segfault will take place, that is how this was noticed.
    
    The problem was introduced in d65a458b, thus post .35.
    
    This also adds code to release guest machines as them are also created
    in perf_session__create_kernel_maps, so should be deleted on this newly
    introduced counterpart, perf_session__destroy_kernel_maps.
    
    Cc: Frederic Weisbecker <fweisbec@gmail.com>
    Cc: Mike Galbraith <efault@gmx.de>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Stephane Eranian <eranian@google.com>
    LKML-Reference: <new-submission>
    Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    076c6e45
session.c 22.7 KB