• Ian Rogers's avatar
    perf test: Fix maps use after put · edd4cab2
    Ian Rogers authored
    Fix a use after put reference count issue. maps is copied from leader,
    but the leader is put on line 79 and then maps is used to read the
    reference count below - so a use after put, with the put of maps
    happening within thread__put. Fix by reversing the order of puts so
    that the leader is put last.
    
    To explain the reference count checker, I wrote this up as a little
    example here:
    https://perf.wiki.kernel.org/index.php/Reference_Count_Checking
    
    Note, the bug was introduced by the committer and wasn't present in
    the original reference count patch set.
    
    Committer notes:
    
    Yes, the bug predated your patch and is detected by the reference count
    checking you contributed.
    
    This was just part of splitting up your series into smaller chunks, in
    this case either we fix the problem detected while developing this
    reference counting infrastructure before the patch introducing REFCNT_CHECKING
    or fix it later after the merged infrastructure, when built with
    EXTRA_CFLAGS="-DREFCNT_CHECKING=1" detects it when running 'perf test', which
    is what this patch does.
    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: Jiri Olsa <jolsa@kernel.org>
    Cc: Mark Rutland <mark.rutland@arm.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Link: http://lore.kernel.org/lkml/20230420030430.489243-1-irogers@google.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    edd4cab2
thread-maps-share.c 2.97 KB