• A
    perf thread_map: Fix the sizeof() calculation for map entries · 08ae217b
    Arnaldo Carvalho de Melo 提交于
    When we started adding extra stuff per array entry, growing the size of
    those entries to more than sizeof(pid_t), we had to convert those sizeof
    operations to the more robust sizeof(map->map[0]) idiom, that is future
    proof, i.e. if/when we add more stuff to those entries, that expression
    will produce the new per-entry size.
    
    And besides that, we need to zero out those extra fields, that sometimes
    may not get filled, like when we couldn't care less about the comms,
    since we don't need those, but since we will try freeing it at
    thread_map__delete(), we better fix it.
    
    That is why a thread_map__realloc() was provided.
    
    But that method wasn't used in thread_map__new_by_uid(), fix it.
    Reported-by: NIngo Molnar <mingo@kernel.org>
    Fixes: 792402fd ("perf thrad_map: Add comm string into array")
    Fixes: 9d7e8c3a ("perf tools: Add thread_map__(alloc|realloc) helpers")
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Borislav Petkov <bp@suse.de>
    Cc: David Ahern <dsahern@gmail.com>
    Cc: Frederic Weisbecker <fweisbec@gmail.com>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Stephane Eranian <eranian@google.com>
    Link: http://lkml.kernel.org/n/tip-6a0swlm6m8lnu3wpjv284hkb@git.kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
    08ae217b
thread_map.c 8.1 KB