From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 84149C7EE23 for ; Thu, 8 Jun 2023 23:31:44 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237432AbjFHXbm (ORCPT ); Thu, 8 Jun 2023 19:31:42 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47694 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237597AbjFHXan (ORCPT ); Thu, 8 Jun 2023 19:30:43 -0400 Received: from mail-yw1-x114a.google.com (mail-yw1-x114a.google.com [IPv6:2607:f8b0:4864:20::114a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 025D530D7 for ; Thu, 8 Jun 2023 16:30:06 -0700 (PDT) Received: by mail-yw1-x114a.google.com with SMTP id 00721157ae682-5655d99da53so25396257b3.0 for ; Thu, 08 Jun 2023 16:30:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20221208; t=1686267006; x=1688859006; h=to:from:subject:references:mime-version:message-id:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=Pl84Wb/J0XwyUQzqil2jyo7Ij9NgOb19MY5gzo850pI=; b=xnSakeo5Yb7wwdtDMtyb7HVmj8YIuug35kGbTZONK5jWOa3frI8ut/fr93Fc8/JTwX kvPVpJEjW0sAh9sgPXMO7hyOJi/3vdDxkAi+slwHAwCqrDu0YARCS7yvVlRIkeo5nA06 C15nsVuVNrmKDz9sWZFnqATC9K8cVorJcxIOokWO13z2/1LDCTGY/s1RQBTMMhreyVgg 83aqZxGUcA1c/VNd055oUlTQF1Lva5eiYUU+EMHdqdWbR/KXkbdHAGtQFr9pIqdCSeqs LmvvrblYw88CmiAOK+DgWcGAsQbyYkW6/SP95piwYMv/4lRiHtmDhC7d3H3k9+1MYT+n Mfsw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686267006; x=1688859006; h=to:from:subject:references:mime-version:message-id:in-reply-to:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=Pl84Wb/J0XwyUQzqil2jyo7Ij9NgOb19MY5gzo850pI=; b=Q/iplsoqKVgrJGsiEkyQb3VlkoSjWFEAGUhEPGLJCBBMyfIv0Fmp0ZEv3uIcFoFNVs 2QUhwpSBpY/BqgAtKBAp7tCMiXt9DBNPeSY1WKD0/UZg/SM69OcPR4KI1H8ILnycfF30 uN+ep2khtQQmQK9a/XJ418bB+RrYun48OMa891qYExHuHou9+VgmDIwIf+6k1iLsXw22 BAP3MdgqGxvxba8QKNJP6ywbYG4+B6gQzDtI8wYyP7uyvqMumoQ27gob1E985LoXLeTS piojhZtOd7rljcOJn0fABXviVmeSyO31Tpw/5EXGnZ7uhA7nVK2/r7ErPi3AC+vwoVVe 7/EA== X-Gm-Message-State: AC+VfDyFuZkxDtppWuVH6Ils9Jw7mHSTVIl1Fg4RtUT/7eUVS9U9DCtQ L7bPnNV9sPU4nM0S7hb1FTfvv8gwsiI0 X-Google-Smtp-Source: ACHHUZ6XZQubQMzg154P6DYDd+lHosdgRP3GkxT70tkfupa8BerI7CJLgpzGAucDVJ4zIZScOONMhWdG/Fqr X-Received: from irogers.svl.corp.google.com ([2620:15c:2d4:203:c3e5:ebc6:61e5:c73f]) (user=irogers job=sendgmr) by 2002:a05:690c:2e0f:b0:569:ea0e:b450 with SMTP id et15-20020a05690c2e0f00b00569ea0eb450mr590468ywb.5.1686267005998; Thu, 08 Jun 2023 16:30:05 -0700 (PDT) Date: Thu, 8 Jun 2023 16:28:19 -0700 In-Reply-To: <20230608232823.4027869-1-irogers@google.com> Message-Id: <20230608232823.4027869-23-irogers@google.com> Mime-Version: 1.0 References: <20230608232823.4027869-1-irogers@google.com> X-Mailer: git-send-email 2.41.0.162.gfafddb0af9-goog Subject: [PATCH v2 22/26] perf top: Add exit routine for main thread From: Ian Rogers To: John Garry , Will Deacon , James Clark , Mike Leach , Leo Yan , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Ian Rogers , Adrian Hunter , Suzuki K Poulose , "Naveen N. Rao" , Kan Liang , German Gomez , Ali Saidi , Jing Zhang , Athira Rajeev , Miguel Ojeda , ye xingchen , Liam Howlett , Dmitrii Dolgov <9erthalion6@gmail.com>, Yang Jihong , K Prateek Nayak , Changbin Du , Ravi Bangoria , Sean Christopherson , Andi Kleen , "Steinar H. Gunderson" , Yuan Can , Brian Robbins , liuwenyu , Ivan Babrou , Fangrui Song , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-perf-users@vger.kernel.org, coresight@lists.linaro.org Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Add exit_process_thread that reverses init_process_thread. This avoids leak sanitizer reporting memory leaks. Signed-off-by: Ian Rogers --- tools/perf/builtin-top.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/tools/perf/builtin-top.c b/tools/perf/builtin-top.c index 99010dfa5760..c363c04e16df 100644 --- a/tools/perf/builtin-top.c +++ b/tools/perf/builtin-top.c @@ -392,7 +392,7 @@ static void prompt_percent(int *target, const char *msg) static void perf_top__prompt_symbol(struct perf_top *top, const char *msg) { - char *buf = malloc(0), *p; + char *buf = NULL, *p; struct hist_entry *syme = top->sym_filter_entry, *n, *found = NULL; struct hists *hists = evsel__hists(top->sym_evsel); struct rb_node *next; @@ -1227,6 +1227,14 @@ static void init_process_thread(struct perf_top *top) cond_init(&top->qe.cond); } +static void exit_process_thread(struct perf_top *top) +{ + ordered_events__free(&top->qe.data[0]); + ordered_events__free(&top->qe.data[1]); + mutex_destroy(&top->qe.mutex); + cond_destroy(&top->qe.cond); +} + static int __cmd_top(struct perf_top *top) { struct record_opts *opts = &top->record_opts; @@ -1357,6 +1365,7 @@ static int __cmd_top(struct perf_top *top) cond_signal(&top->qe.cond); pthread_join(thread_process, NULL); perf_set_singlethreaded(); + exit_process_thread(top); return ret; } -- 2.41.0.162.gfafddb0af9-goog