• Ian Rogers's avatar
    perf evsel: Don't let for_each_group() treat the head of the list as one of its nodes · 797b9ec8
    Ian Rogers authored
    Address/memory sanitizer was reporting issues in evsel__group_pmu_name
    because the for_each_group_evsel loop didn't terminate when the head
    was reached, the head would then be cast and accessed as an evsel
    leading to invalid memory accesses.
    
    Fix for_each_group_member and for_each_group_evsel to terminate at the
    list head. Note, evsel__group_pmu_name no longer iterates the group, but
    the problem is present regardless.
    
    Fixes: 717e263f ("perf report: Show group description when event group is enabled")
    Signed-off-by: default avatarIan Rogers <irogers@google.com>
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Changbin Du <changbin.du@huawei.com>
    Cc: Dmitrii Dolgov <9erthalion6@gmail.com>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: James Clark <james.clark@arm.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Kan Liang <kan.liang@linux.intel.com>
    Cc: Mark Rutland <mark.rutland@arm.com>
    Cc: Namhyung Kim <namhyung.kim@lge.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Rob Herring <robh@kernel.org>
    Cc: Sandipan Das <sandipan.das@amd.com>
    Cc: Xing Zhengjun <zhengjun.xing@linux.intel.com>
    Link: https://lore.kernel.org/r/20230526194442.2355872-3-irogers@google.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    797b9ec8
evsel_fprintf.c 6.15 KB