From nobody Sat Jan 3 02:07:06 2026 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 E130FE92FD1 for ; Thu, 5 Oct 2023 23:11:57 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229604AbjJEXL2 (ORCPT ); Thu, 5 Oct 2023 19:11:28 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43946 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229609AbjJEXJH (ORCPT ); Thu, 5 Oct 2023 19:09:07 -0400 Received: from mail-yb1-xb49.google.com (mail-yb1-xb49.google.com [IPv6:2607:f8b0:4864:20::b49]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E8EA7101 for ; Thu, 5 Oct 2023 16:08:59 -0700 (PDT) Received: by mail-yb1-xb49.google.com with SMTP id 3f1490d57ef6-d91c3b26c9eso1393561276.0 for ; Thu, 05 Oct 2023 16:08:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1696547339; x=1697152139; darn=vger.kernel.org; h=to:from:subject:references:mime-version:message-id:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=mqO+Ua8t6nlwvlcHvKwWAEoEKjeWve4b13tLAZbDaS4=; b=y5CYrievUQqJddtm3FSnpLLnBc+12ItcewcwLI5BSIKVZzmjLaw15oYNWXpEWPbNqb 1OefV/32exp7kzbcvh/ylAzZOem/GHN4NmQJFBrCj9G/8HpCSIg47vQmFPAvoHdywjs0 Nyp/ErrLPeDmjiMGSbz84EsLRTXTRIi2EjFeii0BnkdQdsjIg2QQuRLIBU0t1jg6HYL+ W5bMIZQgdNkCzYCDO368NZi2JVFt/4DE5HBCJqin4pqQKERZobffIam+Ye84BmjWhW7P d4obCpAKPWnhbkyuXhNAWdG7Mouh3ZvS1OnxqxTxZ2tbbgkAZUf19UK2qrGAhhbk42rw 8BVQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696547339; x=1697152139; 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=mqO+Ua8t6nlwvlcHvKwWAEoEKjeWve4b13tLAZbDaS4=; b=QemquBRWP3WSuJp6I6HqL82bs7xkkPeabNvC0zpJDXsSikAAIGA51P3D2rmxrVLzXB A/KojhNs8Sae5EINQPOkzT+JceXxIArgszbuL6zHL/BgJZAIIaJ9AO7hs1hLsTxWoXd/ y08Cp6+m8vTt/IWCj6rzlIrpeTA6hrzQ8Vm8CUiydq6zfp3S4hW3U85ob/T9c6Mr+Ecn e+7BisnrzaYrZ6saMZBYiYdjMPz2qFlWMS45B5dPAIxyDYWNTk+EMr7fXBYVaH6UOmCz kVJhnxJwGuboQsLWqXEznbLwToRaZI/O6D9zGVS/IpmxzvCTXmxo/hh6uK0O8Tg9dtdB M/tA== X-Gm-Message-State: AOJu0YzFJa/CVFJ3BZGUULR7oOgEkjE3wEdntLg4Uq7tiH+vB6t4KpJb 730pQcgiPbfNJxP6Tux/YJ2/5hr8jBPB X-Google-Smtp-Source: AGHT+IG3kHmRqHWDft5tWM1zuYzngpqzvq67zhBHl4j2X94Z3ybhq4yxBzMt9WFB8IAAUgdjbeChJkU/HvMR X-Received: from irogers.svl.corp.google.com ([2620:15c:2a3:200:7449:56a1:2b14:305b]) (user=irogers job=sendgmr) by 2002:a25:868d:0:b0:d81:57ba:4d7a with SMTP id z13-20020a25868d000000b00d8157ba4d7amr80931ybk.6.1696547339163; Thu, 05 Oct 2023 16:08:59 -0700 (PDT) Date: Thu, 5 Oct 2023 16:08:34 -0700 In-Reply-To: <20231005230851.3666908-1-irogers@google.com> Message-Id: <20231005230851.3666908-2-irogers@google.com> Mime-Version: 1.0 References: <20231005230851.3666908-1-irogers@google.com> X-Mailer: git-send-email 2.42.0.609.gbb76f46606-goog Subject: [PATCH v2 01/18] gen_compile_commands: Allow the line prefix to still be cmd_ From: Ian Rogers To: Nathan Chancellor , Nick Desaulniers , Tom Rix , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Ian Rogers , Adrian Hunter , Yicong Yang , Jonathan Cameron , Yang Jihong , Kan Liang , Ming Wang , Huacai Chen , Sean Christopherson , K Prateek Nayak , Yanteng Si , Yuan Can , Ravi Bangoria , James Clark , llvm@lists.linux.dev, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, bpf@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Builds in tools still use the cmd_ prefix in .cmd files, so don't require the saved part. Name the groups in the line pattern match so that changing the regular expression is more robust and works with the addition of a new match group. Signed-off-by: Ian Rogers Reviewed-by: Nick Desaulniers --- scripts/clang-tools/gen_compile_commands.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/clang-tools/gen_compile_commands.py b/scripts/clang-to= ols/gen_compile_commands.py index a84cc5737c2c..b43f9149893c 100755 --- a/scripts/clang-tools/gen_compile_commands.py +++ b/scripts/clang-tools/gen_compile_commands.py @@ -19,7 +19,7 @@ _DEFAULT_OUTPUT =3D 'compile_commands.json' _DEFAULT_LOG_LEVEL =3D 'WARNING' =20 _FILENAME_PATTERN =3D r'^\..*\.cmd$' -_LINE_PATTERN =3D r'^savedcmd_[^ ]*\.o :=3D (.* )([^ ]*\.[cS]) *(;|$)' +_LINE_PATTERN =3D r'^(saved)?cmd_[^ ]*\.o :=3D (?P.* )(?P<= file_path>[^ ]*\.[cS]) *(;|$)' _VALID_LOG_LEVELS =3D ['DEBUG', 'INFO', 'WARNING', 'ERROR', 'CRITICAL'] # The tools/ directory adopts a different build system, and produces .cmd # files in a different format. Do not support it. @@ -213,8 +213,8 @@ def main(): result =3D line_matcher.match(f.readline()) if result: try: - entry =3D process_line(directory, result.group(1), - result.group(2)) + entry =3D process_line(directory, result.group('co= mmand_prefix'), + result.group('file_path')) compile_commands.append(entry) except ValueError as err: logging.info('Could not add line from %s: %s', --=20 2.42.0.609.gbb76f46606-goog From nobody Sat Jan 3 02:07:06 2026 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 A07A2E92FC9 for ; Thu, 5 Oct 2023 23:11:57 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229610AbjJEXL3 (ORCPT ); Thu, 5 Oct 2023 19:11:29 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43964 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229611AbjJEXJI (ORCPT ); Thu, 5 Oct 2023 19:09:08 -0400 Received: from mail-yw1-x1149.google.com (mail-yw1-x1149.google.com [IPv6:2607:f8b0:4864:20::1149]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 759E0133 for ; Thu, 5 Oct 2023 16:09:02 -0700 (PDT) Received: by mail-yw1-x1149.google.com with SMTP id 00721157ae682-59ee66806d7so21705687b3.0 for ; Thu, 05 Oct 2023 16:09:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1696547341; x=1697152141; darn=vger.kernel.org; h=to:from:subject:references:mime-version:message-id:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=KnnQkZcbskEopBJnxGh+Vcp7ouLVD/1W8b2XeUOooQY=; b=0Z0reX4geR/cSknipaVM50KlvfEYYwo4gqWkdh+0Kxnm+ei7ORA6KATmihXv46NRiD odQSiVRni2UVxz3GFJihdgGtnaLj0DaEMhd9514EYS5BAYxzBUW/vkfpISY9StziFmQV KMYRXBHVoyUAvPrZIpK8lql5WIjs6/REwRuc9s1m3YTgcmL3QVU19SJSXKzX04vNUscn Rcb8Fq54cHIR/Q2j3LR7nS+I3U25dZ4fgtlepSj4TuvKgLMf/Qe35QB75hhWgqYOi662 ic5iuHSx+1tuRRM1iFPJl4Jfhpw1VJjkvu+gaARkOOHIxw4aVGuhhEu2UZyERRUbTEzC W+qw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696547341; x=1697152141; 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=KnnQkZcbskEopBJnxGh+Vcp7ouLVD/1W8b2XeUOooQY=; b=TZ5a6iZAuqkoagfRpEIhdCgIVR+9qPoLW5Bwz+vcUqH3gQ1TyhE3B3RAFeD+3CwVGV znKgqpKCTucVnA8O5oguCbvuPO8ryErPGW8yFufKZBfaGmEDiewJYw1Fre/DosR92F27 xUiTuyhTgFr4FlZ+oRfUlw11nkaKMtp7Qu8Gt/f0BAelnp3OrApSVbE+s2ldXMN4gvF9 z6noVh+C8zBUigJ4Dc1v4lTAv2f5F0kUV+9+unND9JEsat2ZQoykKIjzfcsDT2pHvt4k gKyAys/HHYNAbsfXjqxDCaRQQDg+CkudXIZ3vm2hkzOpWPDvyh/ZcVYP+bKwD6UHmBgK cC3w== X-Gm-Message-State: AOJu0YzMJzn45I13RlKal2xmsMGUDcLcErM05Q5WcgWG3zvRCFgVAV2M KASerzprGP65woPA9MNYtKkmn3VLTMgV X-Google-Smtp-Source: AGHT+IEq5EgGgGfFQhFuBi8DznGe/koY92/hRN8c1uDlC9VFhaJLStShPDnueShOCjNEO4Bz7a83VK6LLkIx X-Received: from irogers.svl.corp.google.com ([2620:15c:2a3:200:7449:56a1:2b14:305b]) (user=irogers job=sendgmr) by 2002:a5b:584:0:b0:d7b:94f5:1301 with SMTP id l4-20020a5b0584000000b00d7b94f51301mr103920ybp.9.1696547341616; Thu, 05 Oct 2023 16:09:01 -0700 (PDT) Date: Thu, 5 Oct 2023 16:08:35 -0700 In-Reply-To: <20231005230851.3666908-1-irogers@google.com> Message-Id: <20231005230851.3666908-3-irogers@google.com> Mime-Version: 1.0 References: <20231005230851.3666908-1-irogers@google.com> X-Mailer: git-send-email 2.42.0.609.gbb76f46606-goog Subject: [PATCH v2 02/18] gen_compile_commands: Sort output compile commands by file name From: Ian Rogers To: Nathan Chancellor , Nick Desaulniers , Tom Rix , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Ian Rogers , Adrian Hunter , Yicong Yang , Jonathan Cameron , Yang Jihong , Kan Liang , Ming Wang , Huacai Chen , Sean Christopherson , K Prateek Nayak , Yanteng Si , Yuan Can , Ravi Bangoria , James Clark , llvm@lists.linux.dev, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, bpf@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Make the output more stable and deterministic. Signed-off-by: Ian Rogers Reviewed-by: Nick Desaulniers --- scripts/clang-tools/gen_compile_commands.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/clang-tools/gen_compile_commands.py b/scripts/clang-to= ols/gen_compile_commands.py index b43f9149893c..180952fb91c1 100755 --- a/scripts/clang-tools/gen_compile_commands.py +++ b/scripts/clang-tools/gen_compile_commands.py @@ -221,7 +221,7 @@ def main(): cmdfile, err) =20 with open(output, 'wt') as f: - json.dump(compile_commands, f, indent=3D2, sort_keys=3DTrue) + json.dump(sorted(compile_commands, key=3Dlambda x: x["file"]), f, = indent=3D2, sort_keys=3DTrue) =20 =20 if __name__ =3D=3D '__main__': --=20 2.42.0.609.gbb76f46606-goog From nobody Sat Jan 3 02:07:06 2026 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 B3C16E92FD0 for ; Thu, 5 Oct 2023 23:11:57 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229758AbjJEXLb (ORCPT ); Thu, 5 Oct 2023 19:11:31 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43966 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229612AbjJEXJK (ORCPT ); Thu, 5 Oct 2023 19:09:10 -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 D97C3185 for ; Thu, 5 Oct 2023 16:09:04 -0700 (PDT) Received: by mail-yw1-x114a.google.com with SMTP id 00721157ae682-59f8040b2ffso22549897b3.3 for ; Thu, 05 Oct 2023 16:09:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1696547344; x=1697152144; darn=vger.kernel.org; h=to:from:subject:references:mime-version:message-id:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=uVKoLuc5a7LEHlQh90vyaH3VbvcXZG1OCxjaJSmoY8k=; b=uZVuZXdwF+UaQzN+j5ci/zOPDWqvXBGviotmMlC1ioE/3wiNDwWySHYd75Gm8qezlH 0uQX1dMtw1/zgS3ZA3Y73XsCeReO6sN8AWcnZXRh+scinxEslZZydX/du0KVM/evNW4O 5pNMkqYqfEGXrRaV2A0W6Zp+V8dKCPcF2hn6ZkSRC9k7tkgTu5YlHwb1e1N6GuzqH75f GP6nx3NHo7LwHIK49uZd1YGkFk9W7CYnD3IXwj2n3mJBZLriaMbnUjtd90i/ClVZtljJ +/OXre5yLaaBZAts79ki+gWCPQVWR33Dzvzm5yqmZZOK6/taF7TA34YLkqJEsAP0IgMj 88DQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696547344; x=1697152144; 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=uVKoLuc5a7LEHlQh90vyaH3VbvcXZG1OCxjaJSmoY8k=; b=khFTgjcQ/jeGIYqKJwqw/9foJpNEJgXZ2FDYPdtyvWR2kli/eFrzIiIfOpx+OAWG3Y NvB05OBzSPI3Kg55cmCFQ5nL0NHr1KNJ/cRUiATzARBEVp8Tuj8N3l0SideyYwx3fgSL pYURLUqyOrUoQiB85ETJi7LLfi4drIWZtnfm3nSlk+JorGGxl3p0SDUwyUy3/WCRLMEz pXA2hBjm6BGC8RN9PgDEO6Csv1mCYl9L4PcjapO/RCi01iCn6jBEb733ZXW+BzFhY28m SwZNuzG9YXQTxsuyvYXvy3vau8JmPI6AXprrFC18fHB/djkA1+CtnKV+gqPfByQH45p3 Kj8A== X-Gm-Message-State: AOJu0YwBGbOl+/Pz78+ZOrytfdNLUQsGVS9zGShmvchSV+4FiQZO0eVE jQ58Hd5k/DNZj8FQleVryXkOnl/rzU5I X-Google-Smtp-Source: AGHT+IHo6U+kJASF6nCohpjFiAn0CLPcx5Qb6otqZC+Kpf+MOzGXa7HHf6AdITUGY7vbn2be8G5F1c0EEIDU X-Received: from irogers.svl.corp.google.com ([2620:15c:2a3:200:7449:56a1:2b14:305b]) (user=irogers job=sendgmr) by 2002:a25:d4d1:0:b0:d81:7d48:a459 with SMTP id m200-20020a25d4d1000000b00d817d48a459mr114013ybf.8.1696547344121; Thu, 05 Oct 2023 16:09:04 -0700 (PDT) Date: Thu, 5 Oct 2023 16:08:36 -0700 In-Reply-To: <20231005230851.3666908-1-irogers@google.com> Message-Id: <20231005230851.3666908-4-irogers@google.com> Mime-Version: 1.0 References: <20231005230851.3666908-1-irogers@google.com> X-Mailer: git-send-email 2.42.0.609.gbb76f46606-goog Subject: [PATCH v2 03/18] run-clang-tools: Add pass through checks and and header-filter arguments From: Ian Rogers To: Nathan Chancellor , Nick Desaulniers , Tom Rix , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Ian Rogers , Adrian Hunter , Yicong Yang , Jonathan Cameron , Yang Jihong , Kan Liang , Ming Wang , Huacai Chen , Sean Christopherson , K Prateek Nayak , Yanteng Si , Yuan Can , Ravi Bangoria , James Clark , llvm@lists.linux.dev, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, bpf@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Add a -checks argument to allow the checks passed to the clang-tool to be set on the command line. Add a pass through -header-filter option. Don't run analysis on non-C or CPP files. Signed-off-by: Ian Rogers Reviewed-by: Nick Desaulniers --- scripts/clang-tools/run-clang-tools.py | 32 ++++++++++++++++++++------ 1 file changed, 25 insertions(+), 7 deletions(-) diff --git a/scripts/clang-tools/run-clang-tools.py b/scripts/clang-tools/r= un-clang-tools.py index 3266708a8658..f31ffd09e1ea 100755 --- a/scripts/clang-tools/run-clang-tools.py +++ b/scripts/clang-tools/run-clang-tools.py @@ -33,6 +33,11 @@ def parse_arguments(): path_help =3D "Path to the compilation database to parse" parser.add_argument("path", type=3Dstr, help=3Dpath_help) =20 + checks_help =3D "Checks to pass to the analysis" + parser.add_argument("-checks", type=3Dstr, default=3DNone, help=3Dchec= ks_help) + header_filter_help =3D "Pass the -header-filter value to the tool" + parser.add_argument("-header-filter", type=3Dstr, default=3DNone, help= =3Dheader_filter_help) + return parser.parse_args() =20 =20 @@ -45,14 +50,27 @@ def init(l, a): =20 def run_analysis(entry): # Disable all checks, then re-enable the ones we want - checks =3D [] - checks.append("-checks=3D-*") - if args.type =3D=3D "clang-tidy": - checks.append("linuxkernel-*") + global args + checks =3D None + if args.checks: + checks =3D args.checks.split(',') else: - checks.append("clang-analyzer-*") - checks.append("-clang-analyzer-security.insecureAPI.DeprecatedOrUn= safeBufferHandling") - p =3D subprocess.run(["clang-tidy", "-p", args.path, ",".join(checks),= entry["file"]], + checks =3D ["-*"] + if args.type =3D=3D "clang-tidy": + checks.append("linuxkernel-*") + else: + checks.append("clang-analyzer-*") + checks.append("-clang-analyzer-security.insecureAPI.Deprecated= OrUnsafeBufferHandling") + file =3D entry["file"] + if not file.endswith(".c") and not file.endswith(".cpp"): + with lock: + print(f"Skipping non-C file: '{file}'", file=3Dsys.stderr) + return + pargs =3D ["clang-tidy", "-p", args.path, "-checks=3D" + ",".join(chec= ks)] + if args.header_filter: + pargs.append("-header-filter=3D" + args.header_filter) + pargs.append(file) + p =3D subprocess.run(pargs, stdout=3Dsubprocess.PIPE, stderr=3Dsubprocess.STDOUT, cwd=3Dentry["directory"]) --=20 2.42.0.609.gbb76f46606-goog From nobody Sat Jan 3 02:07:06 2026 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 2F197E92FD4 for ; Thu, 5 Oct 2023 23:11:58 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229770AbjJEXLd (ORCPT ); Thu, 5 Oct 2023 19:11:33 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43970 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229619AbjJEXJM (ORCPT ); Thu, 5 Oct 2023 19:09:12 -0400 Received: from mail-yw1-x1149.google.com (mail-yw1-x1149.google.com [IPv6:2607:f8b0:4864:20::1149]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2C1A7113 for ; Thu, 5 Oct 2023 16:09:07 -0700 (PDT) Received: by mail-yw1-x1149.google.com with SMTP id 00721157ae682-5a2318df875so22818327b3.2 for ; Thu, 05 Oct 2023 16:09:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1696547346; x=1697152146; darn=vger.kernel.org; h=to:from:subject:references:mime-version:message-id:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=aDPuyVd3XTrJMjMwlPDdlF9+59DlOSoA2gz1djDjGjM=; b=QHb1fH5jZfpq8RyeS/YaV/fetq7213oKI3Glm+P5Tv0brElakNGE0zusBc1IqtkzHS F3cE0t+BdUKNRsfu4cOXwERujggbR3NbvxMMcWltEgnL7eyCws5CIP/V/GXYEIinNH++ cFxdCofmm6ACZ3U7t5n0pC7GXLLtCfcaLa9bwh0z6g4tF0bsVEVy4oUiAfiHjllUhIWT MynrYEVVosmuvb9Cc/SL22cUvJGFQuRu4kVtwnTtHBYNhkvXxDIKvrxiRIczfjwbJuq7 oHi2F4cmXpeU38AyWzqrmnv0SmctqOZYMnwGIDuFsCOKFkiJK9WpAfLQ0PmMeOUyCSCc fYJA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696547346; x=1697152146; 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=aDPuyVd3XTrJMjMwlPDdlF9+59DlOSoA2gz1djDjGjM=; b=TWaTRBHOqw9NW21Y4rba7qFAeH773vk0CA72A+CGlXDp5ODxIAMCxTgwiaS9waSEX5 QsqqmNrJpZdk3G7ZG+9ZNfwgPKvn4lGLKw2dtkSNL6dBXhsZYGkYZNyHnbgbDawPDL8k PsZU6H7QjeKiIi62lnvbfLeoWVKQGx5+ldXWS4sBRGp56nHg7K/t2n2mxonU2yVqba/C bdiH8QucPPqmNtEmWNE3w89Kgj+FQyIl55CNA10dG4FZUOMSUZGi22o8sPZkoG9Pb7Pw fV6coXKiqu4JShgsal/ljdvc3+WYan9r9B9cP7hIVsa/3iNc2G458UZH82XJ6zPaOPex uw+w== X-Gm-Message-State: AOJu0YyPovSw3cdWkyAVmZE7p4kAvy0TDKEdrwQ8BAc9vpAqC4HSePuB dWKYmH3i4IlapyrsRak8+wEDIChKndwO X-Google-Smtp-Source: AGHT+IFQDjjuJ9i5zSFcUSzRWjUMmm/ajUwJIkmJtY7wD6WB6BJUTaAn4xhEtzWUY7ES/84RgxbXsLDpBnQp X-Received: from irogers.svl.corp.google.com ([2620:15c:2a3:200:7449:56a1:2b14:305b]) (user=irogers job=sendgmr) by 2002:a05:690c:3146:b0:5a4:f657:3a95 with SMTP id fc6-20020a05690c314600b005a4f6573a95mr91738ywb.1.1696547346425; Thu, 05 Oct 2023 16:09:06 -0700 (PDT) Date: Thu, 5 Oct 2023 16:08:37 -0700 In-Reply-To: <20231005230851.3666908-1-irogers@google.com> Message-Id: <20231005230851.3666908-5-irogers@google.com> Mime-Version: 1.0 References: <20231005230851.3666908-1-irogers@google.com> X-Mailer: git-send-email 2.42.0.609.gbb76f46606-goog Subject: [PATCH v2 04/18] perf hisi-ptt: Fix potential memory leak From: Ian Rogers To: Nathan Chancellor , Nick Desaulniers , Tom Rix , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Ian Rogers , Adrian Hunter , Yicong Yang , Jonathan Cameron , Yang Jihong , Kan Liang , Ming Wang , Huacai Chen , Sean Christopherson , K Prateek Nayak , Yanteng Si , Yuan Can , Ravi Bangoria , James Clark , llvm@lists.linux.dev, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, bpf@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Fix clang-tidy found potential memory leak and unread value: ``` tools/perf/util/hisi-ptt.c:108:3: warning: Value stored to 'data_offset' is= never read [clang-analyzer-deadcode.DeadStores] data_offset =3D 0; ^ ~ tools/perf/util/hisi-ptt.c:108:3: note: Value stored to 'data_offset' is ne= ver read data_offset =3D 0; ^ ~ tools/perf/util/hisi-ptt.c:112:12: warning: Potential leak of memory pointe= d to by 'data' [clang-analyzer-unix.Malloc] return -errno; ^ /usr/include/errno.h:38:18: note: expanded from macro 'errno' ^ tools/perf/util/hisi-ptt.c:100:15: note: Memory is allocated void *data =3D malloc(size); ^~~~~~~~~~~~ tools/perf/util/hisi-ptt.c:104:6: note: Assuming 'data' is non-null if (!data) ^~~~~ tools/perf/util/hisi-ptt.c:104:2: note: Taking false branch if (!data) ^ tools/perf/util/hisi-ptt.c:107:6: note: Assuming the condition is false if (perf_data__is_pipe(session->data)) { ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ tools/perf/util/hisi-ptt.c:107:2: note: Taking false branch if (perf_data__is_pipe(session->data)) { ^ tools/perf/util/hisi-ptt.c:111:7: note: Assuming the condition is true if (data_offset =3D=3D -1) ^~~~~~~~~~~~~~~~~ tools/perf/util/hisi-ptt.c:111:3: note: Taking true branch if (data_offset =3D=3D -1) ^ tools/perf/util/hisi-ptt.c:112:12: note: Potential leak of memory pointed t= o by 'data' return -errno; ^ /usr/include/errno.h:38:18: note: expanded from macro 'errno' ``` Signed-off-by: Ian Rogers --- tools/perf/util/hisi-ptt.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/tools/perf/util/hisi-ptt.c b/tools/perf/util/hisi-ptt.c index 45b614bb73bf..ea297329c526 100644 --- a/tools/perf/util/hisi-ptt.c +++ b/tools/perf/util/hisi-ptt.c @@ -98,18 +98,18 @@ static int hisi_ptt_process_auxtrace_event(struct perf_= session *session, int fd =3D perf_data__fd(session->data); int size =3D event->auxtrace.size; void *data =3D malloc(size); - off_t data_offset; int err; =20 if (!data) return -errno; =20 - if (perf_data__is_pipe(session->data)) { - data_offset =3D 0; - } else { - data_offset =3D lseek(fd, 0, SEEK_CUR); - if (data_offset =3D=3D -1) + if (!perf_data__is_pipe(session->data)) { + off_t data_offset =3D lseek(fd, 0, SEEK_CUR); + + if (data_offset =3D=3D -1) { + free(data); return -errno; + } } =20 err =3D readn(fd, data, size); --=20 2.42.0.609.gbb76f46606-goog From nobody Sat Jan 3 02:07:06 2026 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 C2BBAE92FCF for ; Thu, 5 Oct 2023 23:11:57 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229785AbjJEXLe (ORCPT ); Thu, 5 Oct 2023 19:11:34 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43980 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229621AbjJEXJN (ORCPT ); Thu, 5 Oct 2023 19:09:13 -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 854101B8 for ; Thu, 5 Oct 2023 16:09:09 -0700 (PDT) Received: by mail-yw1-x114a.google.com with SMTP id 00721157ae682-5a213b4d0efso21308197b3.2 for ; Thu, 05 Oct 2023 16:09:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1696547349; x=1697152149; darn=vger.kernel.org; h=to:from:subject:references:mime-version:message-id:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=i2XqQMJ0GkpZoKYBOeb+AHUkFWOwFAfTNDekNOfqFv8=; b=dhDVCBX40y5B0cotpbQmfRlDiY983Jxw+B+ksE2VxDNGQrDNqQHwCSamlheGdTV0i4 t0s+PAmnL/e+aU4zdEJLoS0St61Qc8CCAojtb7DPsl5Uk+AqtWsO26z8S1nPinspNIF2 p4LqZDQcb5Cw7aEQnMnKgI/PODEyW1zxCZjVP355JrJF2W/aFOnTczx1uuK8jjtDTb/J u6BQF/8SA+GNQ0e8o+dTAk43PYDL2iBV84Llj1Dxd8vwxqWMmjWjA8jJrRbv3A6QK+3z b5uKJFJ4x9cHMYOyH//EsRPdrJ3WiYcBV/NeNOAC+9q5nAs1GNc8feFXgCMUOL3ICuqz cGgg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696547349; x=1697152149; 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=i2XqQMJ0GkpZoKYBOeb+AHUkFWOwFAfTNDekNOfqFv8=; b=TP8hLXihiowg0yR4GtavfACnh4Ke+IMX9dn5NiiIlU8ArtgvQFk7inEOpQV5lV8lJe V/dBMC9UtEtqGCY/fK5ZR9PY4jXFNIcnsuJMaow7jdy8a9UhGGvSoaIbY7yFdVILjAsB L/KU3Q/za37b0wJaCPQhP14Ula9xdJAZDRbItm21f00NcmkszLnKj53I/web51QMkH0x wvMg4S+eZ9QE1xSSI00YxSdQBqAd8PtoLCKJ8bnQZootiwrQC9tPtNU9qjPMGuHboDVh KkLIKrrq+vjoB1EFuprwKNW2CmXeMazTbU5oSlGmR+dG2lWNLz34T7izWG/SJ/wnL2fg p3BQ== X-Gm-Message-State: AOJu0YzDWEjo1SvMfvXi4XmWF1rJjtGa02s3qFY6omY3Dw/baY7j4uh3 JtLGMjqIaXAQajX9QI1iiViZ+lHdglPt X-Google-Smtp-Source: AGHT+IGfGlEcR5cafu/s4l0RQy8FE4MK3zRFkQ6Zp8BoRNaDEtxn5kvn9B3Xn4doaEJk2RCpa1Y7G/TCwC7Y X-Received: from irogers.svl.corp.google.com ([2620:15c:2a3:200:7449:56a1:2b14:305b]) (user=irogers job=sendgmr) by 2002:a81:a9c4:0:b0:59b:eace:d467 with SMTP id g187-20020a81a9c4000000b0059beaced467mr116956ywh.3.1696547348754; Thu, 05 Oct 2023 16:09:08 -0700 (PDT) Date: Thu, 5 Oct 2023 16:08:38 -0700 In-Reply-To: <20231005230851.3666908-1-irogers@google.com> Message-Id: <20231005230851.3666908-6-irogers@google.com> Mime-Version: 1.0 References: <20231005230851.3666908-1-irogers@google.com> X-Mailer: git-send-email 2.42.0.609.gbb76f46606-goog Subject: [PATCH v2 05/18] perf bench uprobe: Fix potential use of memory after free From: Ian Rogers To: Nathan Chancellor , Nick Desaulniers , Tom Rix , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Ian Rogers , Adrian Hunter , Yicong Yang , Jonathan Cameron , Yang Jihong , Kan Liang , Ming Wang , Huacai Chen , Sean Christopherson , K Prateek Nayak , Yanteng Si , Yuan Can , Ravi Bangoria , James Clark , llvm@lists.linux.dev, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, bpf@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Found by clang-tidy: ``` bench/uprobe.c:98:3: warning: Use of memory after it is freed [clang-analyz= er-unix.Malloc] bench_uprobe_bpf__destroy(skel); ``` Signed-off-by: Ian Rogers --- tools/perf/bench/uprobe.c | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/perf/bench/uprobe.c b/tools/perf/bench/uprobe.c index 914c0817fe8a..5c71fdc419dd 100644 --- a/tools/perf/bench/uprobe.c +++ b/tools/perf/bench/uprobe.c @@ -89,6 +89,7 @@ static int bench_uprobe__setup_bpf_skel(enum bench_uprobe= bench) return err; cleanup: bench_uprobe_bpf__destroy(skel); + skel =3D NULL; return err; } =20 --=20 2.42.0.609.gbb76f46606-goog From nobody Sat Jan 3 02:07:06 2026 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 D2306E92FD2 for ; Thu, 5 Oct 2023 23:11:57 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229797AbjJEXLg (ORCPT ); Thu, 5 Oct 2023 19:11:36 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38706 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229497AbjJEXJR (ORCPT ); Thu, 5 Oct 2023 19:09:17 -0400 Received: from mail-yb1-xb4a.google.com (mail-yb1-xb4a.google.com [IPv6:2607:f8b0:4864:20::b4a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C5A90D5B for ; Thu, 5 Oct 2023 16:09:11 -0700 (PDT) Received: by mail-yb1-xb4a.google.com with SMTP id 3f1490d57ef6-d816fa2404aso2121812276.0 for ; Thu, 05 Oct 2023 16:09:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1696547351; x=1697152151; darn=vger.kernel.org; h=to:from:subject:references:mime-version:message-id:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=MTpWBQgPQVQy0TAZXLEWpBVQQ2YTPMy6ZmoyjFN0GGE=; b=yGE388MqJTU/fjPZnES+SGVGN9DpeJ67NXpzBBTNoFPld7Qa3qESa4n/bz8CNqTOwf HIIQWmLaUlkebgzY4Q3gKNp90E2XoDbKLIEPKdzYGgO6XCDdXMQAH9SUaiT8BtMHgLHy E0YPNMcbvC3wzbIzAa5emj5zUQ34vMY2hOrCDU8z086mUTnMggBg2JOChXXgXU7Uhrh3 fzTrJ7zsslmFzOna+9kSTGk0EqqQhIKvaQpsh3VYC5GuXEZaFUBAStumtm/9oj6k7uNi 72yCdGjHiikGpKiyR+LAmw8DW7eipCJKVo5qyt+dnG5TXlP6P/IAeno+FWc/5hgpw4/1 UxAg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696547351; x=1697152151; 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=MTpWBQgPQVQy0TAZXLEWpBVQQ2YTPMy6ZmoyjFN0GGE=; b=QHs1qNPWAmS1C8xGkeUd8SES8MTN8HjqGoCpFQUn+WZXHQuIdW7/5aVIME73Jq1Axg TJScpvsUQDJa7xC0sFh3vgHUGDiTXkY5ky1bgctqN1ke67z0AW/AI5EJD3JhWRdJeWA2 CLTZrwD2GKKxsBr0+jbYVI/bMMLs2FWjKxVlofJ2AdrnrwB1R2HxgMaCrZv2JII2EqCr /aNkyjyL8iY36Dxe59nU7GMDGVRoVhvDbszn6ceJjvXKLP16+Cjqmnkye+ZlDJaaCrUs t+QGItABLTFp2G/oQIcp1R1lrxqJozl8C0tQuIcY5DyWxK6L3a21006Y8jlPmQMmUJ4S mplQ== X-Gm-Message-State: AOJu0YzgbikK6gG+DSYMb9ovumb1NS+o7rJVKk/ZnwE7V/ac062gkyrG 6gE7jmOdO5YCHKfr7uS1y7crv0BnzS3A X-Google-Smtp-Source: AGHT+IGnxaCsZLcDNpjb2IRnCqzooQl7/eSuSXSt2DJTDf33tEW2BnCckAmI3vVY62Ne9wg9AkMtIxPrNICk X-Received: from irogers.svl.corp.google.com ([2620:15c:2a3:200:7449:56a1:2b14:305b]) (user=irogers job=sendgmr) by 2002:a25:2513:0:b0:d0f:a0a6:8e87 with SMTP id l19-20020a252513000000b00d0fa0a68e87mr93479ybl.2.1696547351036; Thu, 05 Oct 2023 16:09:11 -0700 (PDT) Date: Thu, 5 Oct 2023 16:08:39 -0700 In-Reply-To: <20231005230851.3666908-1-irogers@google.com> Message-Id: <20231005230851.3666908-7-irogers@google.com> Mime-Version: 1.0 References: <20231005230851.3666908-1-irogers@google.com> X-Mailer: git-send-email 2.42.0.609.gbb76f46606-goog Subject: [PATCH v2 06/18] perf buildid-cache: Fix use of uninitialized value From: Ian Rogers To: Nathan Chancellor , Nick Desaulniers , Tom Rix , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Ian Rogers , Adrian Hunter , Yicong Yang , Jonathan Cameron , Yang Jihong , Kan Liang , Ming Wang , Huacai Chen , Sean Christopherson , K Prateek Nayak , Yanteng Si , Yuan Can , Ravi Bangoria , James Clark , llvm@lists.linux.dev, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, bpf@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The buildid filename is first determined and then from this the buildid read. If getting the filename fails then the buildid will be used for a later memcmp uninitialized. Detected by clang-tidy. Signed-off-by: Ian Rogers --- tools/perf/builtin-buildid-cache.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/tools/perf/builtin-buildid-cache.c b/tools/perf/builtin-buildi= d-cache.c index cd381693658b..e2a40f1d9225 100644 --- a/tools/perf/builtin-buildid-cache.c +++ b/tools/perf/builtin-buildid-cache.c @@ -277,8 +277,10 @@ static bool dso__missing_buildid_cache(struct dso *dso= , int parm __maybe_unused) char filename[PATH_MAX]; struct build_id bid; =20 - if (dso__build_id_filename(dso, filename, sizeof(filename), false) && - filename__read_build_id(filename, &bid) =3D=3D -1) { + if (!dso__build_id_filename(dso, filename, sizeof(filename), false)) + return true; + + if (filename__read_build_id(filename, &bid) =3D=3D -1) { if (errno =3D=3D ENOENT) return false; =20 --=20 2.42.0.609.gbb76f46606-goog From nobody Sat Jan 3 02:07:06 2026 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 F41F4E92FD3 for ; Thu, 5 Oct 2023 23:11:57 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229806AbjJEXLi (ORCPT ); Thu, 5 Oct 2023 19:11:38 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56652 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229501AbjJEXJU (ORCPT ); Thu, 5 Oct 2023 19:09:20 -0400 Received: from mail-yb1-xb49.google.com (mail-yb1-xb49.google.com [IPv6:2607:f8b0:4864:20::b49]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3A28FD5D for ; Thu, 5 Oct 2023 16:09:14 -0700 (PDT) Received: by mail-yb1-xb49.google.com with SMTP id 3f1490d57ef6-d84acda47aeso2096029276.3 for ; Thu, 05 Oct 2023 16:09:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1696547353; x=1697152153; darn=vger.kernel.org; h=to:from:subject:references:mime-version:message-id:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=fapvG1sgoYBqHgoFOW9TcSIAiI5hx1hj0GAN7+v4jh4=; b=2eUm25P2a2eFfh56kz1uSlz9NaWL7J/iU17mHmso2A1+lo3PPSav85ngzAJo+E+Weo vrW/grBI1oJKqpACTbpHctclty+Yt4pXfeXX4zp3+TODPuLIfW2waNTf5z0Ey+LUCm5r 9v2JeeiDyNer354S8plXgZL75bCuO6GU4CbxX2j4MhGU2OyZK1jrsAV5oUtek8y+qyut q4TKRPSZ+E1o1lmKNO39mbmi39d90sqNvtQgShhQQDa/hcti+cuseS4FSSkNPwiQI0MU WVIP/ruBpX+eblxV/SFy7WhQ4bBa29EIBN6/2ja1XHRDrkvhYZ0bF3KnbkticwIrduhD /VCw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696547353; x=1697152153; 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=fapvG1sgoYBqHgoFOW9TcSIAiI5hx1hj0GAN7+v4jh4=; b=jMd5nmR2c6EKvDFJNjJkDkoYpgan/8XQnx8IBmvpmnHXPtq48kNIIxnfjiGUqnVW0w rPnoXjVNORRKvBJ1Swrn2hGTrdCByin59lN8gGNHxF6q3tgwhY+w5S0PjZ39II+NwEPM 0aknaKVNqwwlV5P+WzOQyhSZm/E+ykxb1ubteLlY1XxXeClOXrTjpEmBYd1pqcH3KZHl LHgMTtw36ZEJdhP1VIPA07hzGTiyK1EjibBnT9TwtORGzf1l3YzkKERRJ+VFPe5p3YKx 1FDrzvFKqgwWtDS7h5rlvwN96rM8bf0mKCYhuNifVMSSSmB5wDSV1RWalurKFj6LTjit NEVA== X-Gm-Message-State: AOJu0YyjgkAlcaQtV8vpFFuezZuQnAiCQMOPbUnI4b/1NKvWJK7/2y8A iWmAVWddMb5AQSxZYbNiOTn+GbyX0VK8 X-Google-Smtp-Source: AGHT+IFQvzaYKByRTXdCNgbgMtf6ZQo0ZLONfku1Pyu5zu4z+Lcclzm0e0v4jTWzT6RLDSWWI+/6U4DHYIBX X-Received: from irogers.svl.corp.google.com ([2620:15c:2a3:200:7449:56a1:2b14:305b]) (user=irogers job=sendgmr) by 2002:a25:770b:0:b0:d0e:d67d:6617 with SMTP id s11-20020a25770b000000b00d0ed67d6617mr113429ybc.4.1696547353259; Thu, 05 Oct 2023 16:09:13 -0700 (PDT) Date: Thu, 5 Oct 2023 16:08:40 -0700 In-Reply-To: <20231005230851.3666908-1-irogers@google.com> Message-Id: <20231005230851.3666908-8-irogers@google.com> Mime-Version: 1.0 References: <20231005230851.3666908-1-irogers@google.com> X-Mailer: git-send-email 2.42.0.609.gbb76f46606-goog Subject: [PATCH v2 07/18] perf env: Remove unnecessary NULL tests From: Ian Rogers To: Nathan Chancellor , Nick Desaulniers , Tom Rix , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Ian Rogers , Adrian Hunter , Yicong Yang , Jonathan Cameron , Yang Jihong , Kan Liang , Ming Wang , Huacai Chen , Sean Christopherson , K Prateek Nayak , Yanteng Si , Yuan Can , Ravi Bangoria , James Clark , llvm@lists.linux.dev, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, bpf@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" clang-tidy was warning: ``` util/env.c:334:23: warning: Access to field 'nr_pmu_mappings' results in a = dereference of a null pointer (loaded from variable 'env') [clang-analyzer-= core.NullDereference] env->nr_pmu_mappings =3D pmu_num; ``` As functions are called potentially when !env was true. This condition could never be true as it would produce a segv, so remove the unnecessary NULL tests and silence clang-tidy. Signed-off-by: Ian Rogers --- tools/perf/util/env.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/perf/util/env.c b/tools/perf/util/env.c index a164164001fb..44140b7f596a 100644 --- a/tools/perf/util/env.c +++ b/tools/perf/util/env.c @@ -457,7 +457,7 @@ const char *perf_env__cpuid(struct perf_env *env) { int status; =20 - if (!env || !env->cpuid) { /* Assume local operation */ + if (!env->cpuid) { /* Assume local operation */ status =3D perf_env__read_cpuid(env); if (status) return NULL; @@ -470,7 +470,7 @@ int perf_env__nr_pmu_mappings(struct perf_env *env) { int status; =20 - if (!env || !env->nr_pmu_mappings) { /* Assume local operation */ + if (!env->nr_pmu_mappings) { /* Assume local operation */ status =3D perf_env__read_pmu_mappings(env); if (status) return 0; @@ -483,7 +483,7 @@ const char *perf_env__pmu_mappings(struct perf_env *env) { int status; =20 - if (!env || !env->pmu_mappings) { /* Assume local operation */ + if (!env->pmu_mappings) { /* Assume local operation */ status =3D perf_env__read_pmu_mappings(env); if (status) return NULL; --=20 2.42.0.609.gbb76f46606-goog From nobody Sat Jan 3 02:07:06 2026 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 0FADFE92FD5 for ; Thu, 5 Oct 2023 23:11:58 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229817AbjJEXLj (ORCPT ); Thu, 5 Oct 2023 19:11:39 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56932 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229504AbjJEXJX (ORCPT ); Thu, 5 Oct 2023 19:09:23 -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 BC6BAD64 for ; Thu, 5 Oct 2023 16:09:16 -0700 (PDT) Received: by mail-yw1-x114a.google.com with SMTP id 00721157ae682-59f8134eb83so23048647b3.2 for ; Thu, 05 Oct 2023 16:09:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1696547356; x=1697152156; darn=vger.kernel.org; h=to:from:subject:references:mime-version:message-id:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=GouG30KZVQtjqm6aov/swqA2g+y6OD5o5DKI6J9/hJA=; b=ydKxjYHy/+r3MmEk1WKAXHGcGhUSlEALRujuV8fZXUzyYkUXoOTRuBRx+QeQJOckMG mTTeVxR4gzbBXAFF/ZCKAdHtEDPYWVjnH47SF6EI4wBrS0AeIjO1edL5VuF7YVShxj1/ o1fPhwUZCGOwfpzzWfLhaPF/at1IaPpxaW2g16ov4RYNrD1tBOo87BlHk13QaePpej2R JNYTaiBKhgIIeq4tLwCB0dE8FUovG8CFyl4kuxpw/90QasEoywvBmBvfL5Vdg1cIAgDv E7zx2AVYT9JUnvSUjlvZYFnC93WS2+RFDKr6CFoWAEYXLhZJna5l6JxzzborXQN+12+b pGcg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696547356; x=1697152156; 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=GouG30KZVQtjqm6aov/swqA2g+y6OD5o5DKI6J9/hJA=; b=SQfzp316+3U6p0DTgyCTZo90Dy+Uza/iUt7MptV7DD+ozuT+mS/HacXbTij+PHCL7y E+vm/unyrElW3RrdsHFUr7lBcrPaaS7oPgNTwiR7VN1e/lFLcy5HPhgKSea1Cqs888MM tscGU7G8IGkpYJvCfZPY/my9k5jk4Xg+GsmNmrPYeo9wFq4T46BFhvL4dHyjdNOEeCiT SU0j2U3KUVGsLaedVOx3RyifGBQ97sIUVFYZMTNyJLKvjf54L1vMipbgniigLsESKYSq lt/RzD8QXixeDEigUJnTXWBwyBoSbrx9aoyMyuxYq55lsWe9AHJvaVBg5NiNHJObvpLp LOfQ== X-Gm-Message-State: AOJu0YyTv1lXN1fVDVeiBnWD2h34dwZ9kj0o1aYh2T8RwDTaCi5fBamb vYQQ/yegDl2LwPrs0hWVYTKpMJPzc8UU X-Google-Smtp-Source: AGHT+IGONU+OowDDx8a+TbL/FH+ObTrGvfI1GY50R5S+RVIAsaEN1VZNRoea3AVWMrrmFuuADHtm0K7HKpil X-Received: from irogers.svl.corp.google.com ([2620:15c:2a3:200:7449:56a1:2b14:305b]) (user=irogers job=sendgmr) by 2002:a81:430c:0:b0:576:8cb6:62a9 with SMTP id q12-20020a81430c000000b005768cb662a9mr115006ywa.6.1696547355929; Thu, 05 Oct 2023 16:09:15 -0700 (PDT) Date: Thu, 5 Oct 2023 16:08:41 -0700 In-Reply-To: <20231005230851.3666908-1-irogers@google.com> Message-Id: <20231005230851.3666908-9-irogers@google.com> Mime-Version: 1.0 References: <20231005230851.3666908-1-irogers@google.com> X-Mailer: git-send-email 2.42.0.609.gbb76f46606-goog Subject: [PATCH v2 08/18] perf jitdump: Avoid memory leak From: Ian Rogers To: Nathan Chancellor , Nick Desaulniers , Tom Rix , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Ian Rogers , Adrian Hunter , Yicong Yang , Jonathan Cameron , Yang Jihong , Kan Liang , Ming Wang , Huacai Chen , Sean Christopherson , K Prateek Nayak , Yanteng Si , Yuan Can , Ravi Bangoria , James Clark , llvm@lists.linux.dev, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, bpf@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" jit_repipe_unwinding_info is called in a loop by jit_process_dump, avoid leaking unwinding_data by free-ing before overwriting. Error detected by clang-tidy. Signed-off-by: Ian Rogers --- tools/perf/util/jitdump.c | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/perf/util/jitdump.c b/tools/perf/util/jitdump.c index 6b2b96c16ccd..1f657ef8975f 100644 --- a/tools/perf/util/jitdump.c +++ b/tools/perf/util/jitdump.c @@ -675,6 +675,7 @@ jit_repipe_unwinding_info(struct jit_buf_desc *jd, unio= n jr_entry *jr) jd->eh_frame_hdr_size =3D jr->unwinding.eh_frame_hdr_size; jd->unwinding_size =3D jr->unwinding.unwinding_size; jd->unwinding_mapped_size =3D jr->unwinding.mapped_size; + free(jd->unwinding_data); jd->unwinding_data =3D unwinding_data; =20 return 0; --=20 2.42.0.609.gbb76f46606-goog From nobody Sat Jan 3 02:07:06 2026 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 5BE22E92FC9 for ; Thu, 5 Oct 2023 23:12:29 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229512AbjJEXL7 (ORCPT ); Thu, 5 Oct 2023 19:11:59 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39706 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229630AbjJEXJ0 (ORCPT ); Thu, 5 Oct 2023 19:09:26 -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 E6276D68 for ; Thu, 5 Oct 2023 16:09:18 -0700 (PDT) Received: by mail-yw1-x114a.google.com with SMTP id 00721157ae682-59b5a586da6so12807867b3.1 for ; Thu, 05 Oct 2023 16:09:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1696547358; x=1697152158; darn=vger.kernel.org; h=to:from:subject:references:mime-version:message-id:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=JGGlE54ge9XxgsvPeqIZ7isbDlHsMUv/MJYLVA09opo=; b=4iR0P4ISPLOMMxrMSLXIeqoVzLlvLx47CT9TvLhsx6NwX3CyV8PYkzusmYED/x1CQr XIiT8F8Sh0OHiDk/OJuNuTTaCE4NWInqRbV8Y5WyzSLTm/Ye0/rPrCsBkxKU6+i7z/DA K6rwMg0yn6X8CXZlEQez7tK6veJvjS1NEBlfSXUdSLsqeaQ5IvzT/sNf+I/SLSu02X9t jyQfExUiXT7DB34xQa69AGs03Ac3dauAqMumBPJPzvZjGxm7rSLIsFC36gvGhG1pEOkV 3JfvcMvlDhFywthUqQBMFIVnbeBl0FoK7MLHR/TcYt0lweXIRf51Xup96Yjz+669UHdJ 4/ZQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696547358; x=1697152158; 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=JGGlE54ge9XxgsvPeqIZ7isbDlHsMUv/MJYLVA09opo=; b=gB8YshGQUizVxwaAQwXR+ZNhSkCh06ieXlxlLY87NNVgk3U9KB2w27wb+//N0fI0lw RnhFjZzvqKSAmIGtsd/E15Ux8hpAFMcx4ajcBCTeyjCY/3LuqFz5k4EuQjae+roZqxr2 zhVB01MnpRl8KIu6iXP60dfJLcdbNZGlv5PDhgWUzf4H3uYv5bTYHTATeLWdvmw185q5 1QszRzy0E/keHpDdf7gP5cQUvT4JEr7oXYAVHPvl3uYXekkf6Cy5dmkhC5gRDnGzWRgG E1ORxsJ0HyGQJmYR8LEaOYziJmEq83BdSoazEQiIwj9eBMBDnro3HgyXH36znr5r5pCF b+zg== X-Gm-Message-State: AOJu0Yxqm9oSx4eocP5K2OMOLDlLrQ2+wucj8wx73QQZqPVQraSXFFPv 7KB6LM7YrkRBRB1wFQssjOiZPSa5cpVX X-Google-Smtp-Source: AGHT+IHZIti6IayoNIIvrlr9f3twKSIg0zCXbRbou+pCuTID4omq25jI81Q4BzjSR5/jxW+VxluvDukpej+F X-Received: from irogers.svl.corp.google.com ([2620:15c:2a3:200:7449:56a1:2b14:305b]) (user=irogers job=sendgmr) by 2002:a05:690c:c90:b0:59b:b0b1:d75a with SMTP id cm16-20020a05690c0c9000b0059bb0b1d75amr51537ywb.4.1696547358196; Thu, 05 Oct 2023 16:09:18 -0700 (PDT) Date: Thu, 5 Oct 2023 16:08:42 -0700 In-Reply-To: <20231005230851.3666908-1-irogers@google.com> Message-Id: <20231005230851.3666908-10-irogers@google.com> Mime-Version: 1.0 References: <20231005230851.3666908-1-irogers@google.com> X-Mailer: git-send-email 2.42.0.609.gbb76f46606-goog Subject: [PATCH v2 09/18] perf mem-events: Avoid uninitialized read From: Ian Rogers To: Nathan Chancellor , Nick Desaulniers , Tom Rix , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Ian Rogers , Adrian Hunter , Yicong Yang , Jonathan Cameron , Yang Jihong , Kan Liang , Ming Wang , Huacai Chen , Sean Christopherson , K Prateek Nayak , Yanteng Si , Yuan Can , Ravi Bangoria , James Clark , llvm@lists.linux.dev, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, bpf@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" pmu should be initialized to NULL before perf_pmus__scan loop. Fix and shrink the scope of pmu at the same time. Issue detected by clang-tidy. Fixes: 5752c20f3787 ("perf mem: Scan all PMUs instead of just core ones") Signed-off-by: Ian Rogers --- tools/perf/util/mem-events.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tools/perf/util/mem-events.c b/tools/perf/util/mem-events.c index 39ffe8ceb380..954b235e12e5 100644 --- a/tools/perf/util/mem-events.c +++ b/tools/perf/util/mem-events.c @@ -185,7 +185,6 @@ int perf_mem_events__record_args(const char **rec_argv,= int *argv_nr, { int i =3D *argv_nr, k =3D 0; struct perf_mem_event *e; - struct perf_pmu *pmu; =20 for (int j =3D 0; j < PERF_MEM_EVENTS__MAX; j++) { e =3D perf_mem_events__ptr(j); @@ -202,6 +201,8 @@ int perf_mem_events__record_args(const char **rec_argv,= int *argv_nr, rec_argv[i++] =3D "-e"; rec_argv[i++] =3D perf_mem_events__name(j, NULL); } else { + struct perf_pmu *pmu =3D NULL; + if (!e->supported) { perf_mem_events__print_unsupport_hybrid(e, j); return -1; --=20 2.42.0.609.gbb76f46606-goog From nobody Sat Jan 3 02:07:06 2026 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 B41D5E92FCF for ; Thu, 5 Oct 2023 23:22:23 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229783AbjJEXWW (ORCPT ); Thu, 5 Oct 2023 19:22:22 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41038 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229709AbjJEXUg (ORCPT ); Thu, 5 Oct 2023 19:20:36 -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 7B92BD6B for ; Thu, 5 Oct 2023 16:09:21 -0700 (PDT) Received: by mail-yw1-x114a.google.com with SMTP id 00721157ae682-59f7d109926so21888607b3.2 for ; Thu, 05 Oct 2023 16:09:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1696547360; x=1697152160; darn=vger.kernel.org; h=to:from:subject:references:mime-version:message-id:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=Btc8+OmE4IzA7UOP/eGTa4MmLZMG3XazqMQBeE66ZYs=; b=PpdONQIG+l/rnTq0ljQx59wae1i+ix+iFl/DO2P9TSNWJyIxXsdb3HnDxJvOF+w6xz RDd7k8qg/CnSYh3xwTjoVqQEmSEbUGPb6Mw1dJqYpN+9O4E+YR1AcxZ4UDoue5gQs62U Cex35U4yKYX18dSmKQmK4ml+Z4fohNc/7ib17IecGwKUHWKu6vpFwh0IPK8aHU60XcSO +2/jPTxPJ+H3arFgoLIvr3SJqWzuS74tJSa9uwkBmTl+YbgN6twjCy/mLP+M9dMGGqcb 1zGanpr7tNww1SRO05E1EzUaI1BdXDhLegliVfVDi4Vo2GpnO5v//xlxR7T/zdWddjCl /F1Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696547360; x=1697152160; 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=Btc8+OmE4IzA7UOP/eGTa4MmLZMG3XazqMQBeE66ZYs=; b=nM6SQH+WNA3PTb7rzQ9GGsQauwwaZAM+7Zq9tPSQBu0zkPXnlm5dRJSMdgmrSWah1G fUmeRuzBTXhkF9x+SCKN5xXLCQu9YBRTjC4aohEC7YhCzcDUmvCVzvoT5Rh3V7wPI/Ko RauhG5GDusAtQCieh1clguzC84v53EHqHIL3U6vo8ssB8EeMuJQ3loos/jgdmNRqp/QO w+31WFaKM2Kp1blPaGEyaCEARFUnSTT0OMCz4VaT7yvjKP8KHk+fnaaUNGOaqN4u1IIK 6mGFVYafRwdxQ/tAnu5gekerL6sXPSFD3+LVB67aoeIPWWcVLDvERuSHWFP2ntXy0U33 bGYA== X-Gm-Message-State: AOJu0YzWjBjMyX0j3tvI4HyhD0kxgX/pfTf/pCptq3WrvHWGEj5ImHGe JfRuN4mqJQ5JRVb+/7LqnhkHk+JtDrHZ X-Google-Smtp-Source: AGHT+IFfAlyuHJuI2G/9KQCu0TQZva4KyspkcFBHCc0rPvHV/9ONdxVJXDxqSyZ675ZF86Wyxy9Zbxra+WAi X-Received: from irogers.svl.corp.google.com ([2620:15c:2a3:200:7449:56a1:2b14:305b]) (user=irogers job=sendgmr) by 2002:a81:bd08:0:b0:59b:c811:a702 with SMTP id b8-20020a81bd08000000b0059bc811a702mr118562ywi.6.1696547360615; Thu, 05 Oct 2023 16:09:20 -0700 (PDT) Date: Thu, 5 Oct 2023 16:08:43 -0700 In-Reply-To: <20231005230851.3666908-1-irogers@google.com> Message-Id: <20231005230851.3666908-11-irogers@google.com> Mime-Version: 1.0 References: <20231005230851.3666908-1-irogers@google.com> X-Mailer: git-send-email 2.42.0.609.gbb76f46606-goog Subject: [PATCH v2 10/18] perf dlfilter: Be defensive against potential NULL dereference From: Ian Rogers To: Nathan Chancellor , Nick Desaulniers , Tom Rix , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Ian Rogers , Adrian Hunter , Yicong Yang , Jonathan Cameron , Yang Jihong , Kan Liang , Ming Wang , Huacai Chen , Sean Christopherson , K Prateek Nayak , Yanteng Si , Yuan Can , Ravi Bangoria , James Clark , llvm@lists.linux.dev, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, bpf@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" In the unlikely case of having a symbol without a mapping, avoid a NULL dereference that clang-tidy warns about. Signed-off-by: Ian Rogers --- tools/perf/util/dlfilter.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tools/perf/util/dlfilter.c b/tools/perf/util/dlfilter.c index 1dbf27822ee2..5e54832137a9 100644 --- a/tools/perf/util/dlfilter.c +++ b/tools/perf/util/dlfilter.c @@ -52,8 +52,10 @@ static void al_to_d_al(struct addr_location *al, struct = perf_dlfilter_al *d_al) d_al->sym_end =3D sym->end; if (al->addr < sym->end) d_al->symoff =3D al->addr - sym->start; - else + else if (al->map) d_al->symoff =3D al->addr - map__start(al->map) - sym->start; + else + d_al->symoff =3D 0; d_al->sym_binding =3D sym->binding; } else { d_al->sym =3D NULL; --=20 2.42.0.609.gbb76f46606-goog From nobody Sat Jan 3 02:07:06 2026 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 D144AE92FC9 for ; Thu, 5 Oct 2023 23:22:29 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229870AbjJEXW2 (ORCPT ); Thu, 5 Oct 2023 19:22:28 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55058 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229718AbjJEXUo (ORCPT ); Thu, 5 Oct 2023 19:20:44 -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 DFF1111C for ; Thu, 5 Oct 2023 16:09:23 -0700 (PDT) Received: by mail-yw1-x114a.google.com with SMTP id 00721157ae682-59b59e1ac70so22587827b3.1 for ; Thu, 05 Oct 2023 16:09:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1696547363; x=1697152163; darn=vger.kernel.org; h=to:from:subject:references:mime-version:message-id:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=a3F7gnNpkmZUAErgbCdtUAHzB9Tx2qchcvlKXuBK3uQ=; b=cC8v9htN85xK0I6vqU1MDGWwZO5vyo1LQVqQFGFr4Z+FZr1tmDW/e6Tb1cPWIx9YIJ O+noGGselEBgl6GbGJfwA3fmN6vBWbaomnl6Wgv1VUKsTToE0PpGC5bAdNscgO2oL5+T 8NUOYpDwRtBf4O1SsfFoz9p9nvFKH8yMP1ygZUi0DQTVgyebgZi0EPr+ibCbTQmX4o6J ejZx6+0vJse+jGHM9C7eWv6gxqEfgKzMhOIU9z0zQ0hB05axy2yT6ebgw4pWq5W5vjgw phylQWFgbwAty2EPxnYocLPs2NLT7vaxi/VD82NlHQc7tAF90KqPss+aSZWp8OdmZAuI 8GyQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696547363; x=1697152163; 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=a3F7gnNpkmZUAErgbCdtUAHzB9Tx2qchcvlKXuBK3uQ=; b=HRLKClRoS//f4lMVso6R7BQAe6NZ+tI2kTVcuMYBL6NoMM1C00JZEOHlPV7qZg3zNr zTFKU7ysuC0qg1rU4WsC1y9ayCP6g+RixVHybBz0hgAci/Un8XzJFbrzrEil2HBlcIL/ Fhtx0rKfooxUkl2V8mDqPFswqzTECF7awrFgYTjLsvr6g4BYHn7Yblk9X9eV2IKMi5Au bv4XuYjnbIW92Ggp4d6Dwh5eSAuJyYB/g853Ijc2FhZT3qTNAfG86GjWQatxoKn+70Jw f+UtrYMM58Fk47v1y4eyma1DLEVvTPb2noNxwihLqXu5TAoFB+O58qbOTy7p/TrUFmEd i2tw== X-Gm-Message-State: AOJu0YzNnZkPO4fOmcYywe7WYdrhdiv41zII7hzATAZxbGoewCKNgFBd Rdt1chNimInXAIQLTC0y4tRvV5zviQH1 X-Google-Smtp-Source: AGHT+IHoFU+z5aCBXXTlJuMvUJucciH7eGrZGAnChgvuI/WO2miJm/u/BOXK9wZuLbh4UH+ko6EzN43c6WUR X-Received: from irogers.svl.corp.google.com ([2620:15c:2a3:200:7449:56a1:2b14:305b]) (user=irogers job=sendgmr) by 2002:a05:690c:fc9:b0:5a4:f657:5362 with SMTP id dg9-20020a05690c0fc900b005a4f6575362mr116930ywb.3.1696547363151; Thu, 05 Oct 2023 16:09:23 -0700 (PDT) Date: Thu, 5 Oct 2023 16:08:44 -0700 In-Reply-To: <20231005230851.3666908-1-irogers@google.com> Message-Id: <20231005230851.3666908-12-irogers@google.com> Mime-Version: 1.0 References: <20231005230851.3666908-1-irogers@google.com> X-Mailer: git-send-email 2.42.0.609.gbb76f46606-goog Subject: [PATCH v2 11/18] perf hists browser: Reorder variables to reduce padding From: Ian Rogers To: Nathan Chancellor , Nick Desaulniers , Tom Rix , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Ian Rogers , Adrian Hunter , Yicong Yang , Jonathan Cameron , Yang Jihong , Kan Liang , Ming Wang , Huacai Chen , Sean Christopherson , K Prateek Nayak , Yanteng Si , Yuan Can , Ravi Bangoria , James Clark , llvm@lists.linux.dev, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, bpf@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Address clang-tidy warning: ``` tools/perf/ui/browsers/hists.c:2416:8: warning: Excessive padding in 'struc= t popup_action' (8 padding bytes, where 0 is optimal). Optimal fields order: time, thread, evsel, fn, ms, socket, rstype, ``` Signed-off-by: Ian Rogers --- tools/perf/ui/browsers/hists.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/perf/ui/browsers/hists.c b/tools/perf/ui/browsers/hists.c index 70db5a717905..f02ee605bbce 100644 --- a/tools/perf/ui/browsers/hists.c +++ b/tools/perf/ui/browsers/hists.c @@ -2416,12 +2416,12 @@ static int switch_data_file(void) struct popup_action { unsigned long time; struct thread *thread; + struct evsel *evsel; + int (*fn)(struct hist_browser *browser, struct popup_action *act); struct map_symbol ms; int socket; - struct evsel *evsel; enum rstype rstype; =20 - int (*fn)(struct hist_browser *browser, struct popup_action *act); }; =20 static int --=20 2.42.0.609.gbb76f46606-goog From nobody Sat Jan 3 02:07:06 2026 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 443EEE92FC9 for ; Thu, 5 Oct 2023 23:22:27 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229831AbjJEXW0 (ORCPT ); Thu, 5 Oct 2023 19:22:26 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35682 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229713AbjJEXUm (ORCPT ); Thu, 5 Oct 2023 19:20:42 -0400 Received: from mail-yw1-x1149.google.com (mail-yw1-x1149.google.com [IPv6:2607:f8b0:4864:20::1149]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BCB0B19B for ; Thu, 5 Oct 2023 16:09:26 -0700 (PDT) Received: by mail-yw1-x1149.google.com with SMTP id 00721157ae682-59f7d4bbfc7so22026157b3.3 for ; Thu, 05 Oct 2023 16:09:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1696547366; x=1697152166; darn=vger.kernel.org; h=to:from:subject:references:mime-version:message-id:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=uSqAvWdBbUtQxC7pnyJJtR4WVxr7hcg6OVnTaxh+F6M=; b=AqNhgrFbRKtUQdWQjxRR5EHYfMMb4DG7jZ19gCcE2xsMbDVRxvMRvV3uQm8kEO0/n9 cvwinzb6BPcWY6ewNPjPyu2Sb6s5j+LsUrcuuv2i6JgKzd7GU0bayM6KhdV5l3nmfFY2 Ox9N1RhODCo7vjmHbsW1t+5XX3riysjwC55idTsfAdcp7A84jggSp/2VzdvdyLzUl4Lb VUr5WIjeyZt91oKbAshQ3V85qHwFNlW4CMj6FVa1lzlSoqtkr+w+m1bB45g7OrQjD9t7 368B3Xurb29JH/Z/asL0n7/I6bwqChboHNOJB2wqUtt22LskCAnRDoJPVGiOLMGSsytI h94A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696547366; x=1697152166; 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=uSqAvWdBbUtQxC7pnyJJtR4WVxr7hcg6OVnTaxh+F6M=; b=UKBQxC9F4V9OUk6IHfZBzOIxnOREXyvdS/DIknKieA3UC0u8B53THwowmlmsnHNpIv J0x4lyNIgjcbQs0Ti34JmLZ4r58Lyp9zQatkBUa9b0Tt+9AlhT6E7HbZ2vOk9+UwuGWH L2cx0infXhcvAlN1RNnLuEOmvOxfaIE8A7xuCJEYJ6/Zb06eJKGoUm0F/2zSVK/GO9Ha gAousE1sNsEZY2KR3VEpyBYzav5dfWK1IQD1gK1Q/DGPGQCkFFFcuKq79Pxg8eo1rxj0 OcftzTQlQYCby+mSsmK4PVeaPp697RX1bltuAkpwTAaspZRzTNpv6QywMD3cgeqLEQxA YvXA== X-Gm-Message-State: AOJu0YzfBN2NU2D06n3mmoSErceW0KXHmLq4t7NUBovNnhXmIGf5TCfe 59cVHge46dCR6fyaP6oHiatK72u57Kf8 X-Google-Smtp-Source: AGHT+IEYRgFM2NV2BQHADakfTQjBrB/7bt9C3vOnga95X2gYJqpyJ21VOHkHsl8QQL8bn7YhF9HuuYUts//N X-Received: from irogers.svl.corp.google.com ([2620:15c:2a3:200:7449:56a1:2b14:305b]) (user=irogers job=sendgmr) by 2002:a05:6902:181a:b0:d89:3ed5:6042 with SMTP id cf26-20020a056902181a00b00d893ed56042mr106147ybb.11.1696547365955; Thu, 05 Oct 2023 16:09:25 -0700 (PDT) Date: Thu, 5 Oct 2023 16:08:45 -0700 In-Reply-To: <20231005230851.3666908-1-irogers@google.com> Message-Id: <20231005230851.3666908-13-irogers@google.com> Mime-Version: 1.0 References: <20231005230851.3666908-1-irogers@google.com> X-Mailer: git-send-email 2.42.0.609.gbb76f46606-goog Subject: [PATCH v2 12/18] perf hists browser: Avoid potential NULL dereference From: Ian Rogers To: Nathan Chancellor , Nick Desaulniers , Tom Rix , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Ian Rogers , Adrian Hunter , Yicong Yang , Jonathan Cameron , Yang Jihong , Kan Liang , Ming Wang , Huacai Chen , Sean Christopherson , K Prateek Nayak , Yanteng Si , Yuan Can , Ravi Bangoria , James Clark , llvm@lists.linux.dev, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, bpf@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" On other code paths browser->he_selection is NULL checked, add a missing case reported by clang-tidy. Signed-off-by: Ian Rogers --- tools/perf/ui/browsers/hists.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/perf/ui/browsers/hists.c b/tools/perf/ui/browsers/hists.c index f02ee605bbce..f4812b226818 100644 --- a/tools/perf/ui/browsers/hists.c +++ b/tools/perf/ui/browsers/hists.c @@ -3302,7 +3302,7 @@ static int evsel__hists_browse(struct evsel *evsel, i= nt nr_events, const char *h &options[nr_options], &bi->to.ms, bi->to.al_addr); - } else { + } else if (browser->he_selection) { nr_options +=3D add_annotate_opt(browser, &actions[nr_options], &options[nr_options], --=20 2.42.0.609.gbb76f46606-goog From nobody Sat Jan 3 02:07:06 2026 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 A7CB4E92FCF for ; Thu, 5 Oct 2023 23:12:29 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229638AbjJEXMD (ORCPT ); Thu, 5 Oct 2023 19:12:03 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34516 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229639AbjJEXJp (ORCPT ); Thu, 5 Oct 2023 19:09:45 -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 F271DD67 for ; Thu, 5 Oct 2023 16:09:28 -0700 (PDT) Received: by mail-yw1-x114a.google.com with SMTP id 00721157ae682-59f4f2b6de8so23690777b3.1 for ; Thu, 05 Oct 2023 16:09:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1696547368; x=1697152168; darn=vger.kernel.org; h=to:from:subject:references:mime-version:message-id:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=3q7J1zaKrxcJsN5cKPHsdKPNVlGGTILkxMs0fP/b8pI=; b=th/zkdUVIH9RNTZAxrSbaoNWz9FU7rplWE/5lMyqV9j6eK94Xs8BYTH0egZpLx5m/0 Uv/SHZJTdT5NFRxBcipJKQaM6joZ0nancKx2wFtQomGJ9cDUbgP7TrqSqNM2+VHTue7F SPHtbuJPSedwcCcVlm2xqRHu65Zv86ZYPnN7Tbl/c5sWgS6xUEbrmfmA3f19P9eXKFex 5RQYTfc5PvE18ZMNNhYzfGqJuL6FAoJ+vyagfyk9nfpJBdz0s24E3yf2hZjgHTmA+513 49Lhsg40XkF1tdZhmhIpQwae9c/7sEMuKpqTqHhPQftTeuSJMVWJeo14InAbLRRdFT33 UZXg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696547368; x=1697152168; 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=3q7J1zaKrxcJsN5cKPHsdKPNVlGGTILkxMs0fP/b8pI=; b=Ad4omQVV+31v4e53lEiQ1xUtHScCRVoF2q/D8EOiheuhzUOYimf+PeitfZAt2W1CbB dm72ZwkmMNOr2xjtviNUugQfeeY+V3Dad2EhMaPOBiGhdB/8h/SUGZmF2/ae5EXacfJh QIQOGfJ0+mH4HnipVVWBCLbMWHSBwFjh7bx9hv7p7XpNOIX8cEI2blSmGl/GRMrJiDIu 8sV6Ny3RvpN76M4nq75MbQPyL9bucoqBuF0nc+CuAhaJLRZtPQb9Gp2WDfAl9cVddB5N 3+COZBrEVJ7gK5UKfwCPCZt2onsXHjxh5BMQeTsmYg7SOUPvEa/0x/ftako/SjLJpmMr kQiA== X-Gm-Message-State: AOJu0YzI9ayaSVpfx5K/a8jPpSKmQnx8HA3HYVLv2MqcpvWZkA3kGpKv 6OkaXbWsQ7kyFl4rVl4poGSgB/q6/gcy X-Google-Smtp-Source: AGHT+IEV9eKUl8jHouya/2mrGEIvTy7eAbccM7CjR+efeiDf6wWkcXilTE2icrLHqdeRcbaf181kT4qfwnl5 X-Received: from irogers.svl.corp.google.com ([2620:15c:2a3:200:7449:56a1:2b14:305b]) (user=irogers job=sendgmr) by 2002:a81:a8c8:0:b0:592:7bc7:b304 with SMTP id f191-20020a81a8c8000000b005927bc7b304mr115386ywh.8.1696547368133; Thu, 05 Oct 2023 16:09:28 -0700 (PDT) Date: Thu, 5 Oct 2023 16:08:46 -0700 In-Reply-To: <20231005230851.3666908-1-irogers@google.com> Message-Id: <20231005230851.3666908-14-irogers@google.com> Mime-Version: 1.0 References: <20231005230851.3666908-1-irogers@google.com> X-Mailer: git-send-email 2.42.0.609.gbb76f46606-goog Subject: [PATCH v2 13/18] perf svghelper: Avoid memory leak From: Ian Rogers To: Nathan Chancellor , Nick Desaulniers , Tom Rix , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Ian Rogers , Adrian Hunter , Yicong Yang , Jonathan Cameron , Yang Jihong , Kan Liang , Ming Wang , Huacai Chen , Sean Christopherson , K Prateek Nayak , Yanteng Si , Yuan Can , Ravi Bangoria , James Clark , llvm@lists.linux.dev, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, bpf@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" On success path the sib_core and sib_thr values weren't being freed. Detected by clang-tidy. Signed-off-by: Ian Rogers --- tools/perf/builtin-lock.c | 1 + tools/perf/util/svghelper.c | 5 +++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/tools/perf/builtin-lock.c b/tools/perf/builtin-lock.c index d4b22313e5fc..1b40b00c9563 100644 --- a/tools/perf/builtin-lock.c +++ b/tools/perf/builtin-lock.c @@ -2463,6 +2463,7 @@ static int parse_call_stack(const struct option *opt = __maybe_unused, const char entry =3D malloc(sizeof(*entry) + strlen(tok) + 1); if (entry =3D=3D NULL) { pr_err("Memory allocation failure\n"); + free(s); return -1; } =20 diff --git a/tools/perf/util/svghelper.c b/tools/perf/util/svghelper.c index 0e4dc31c6c9c..1892e9b6aa7f 100644 --- a/tools/perf/util/svghelper.c +++ b/tools/perf/util/svghelper.c @@ -754,6 +754,7 @@ int svg_build_topology_map(struct perf_env *env) int i, nr_cpus; struct topology t; char *sib_core, *sib_thr; + int ret =3D -1; =20 nr_cpus =3D min(env->nr_cpus_online, MAX_NR_CPUS); =20 @@ -799,11 +800,11 @@ int svg_build_topology_map(struct perf_env *env) =20 scan_core_topology(topology_map, &t, nr_cpus); =20 - return 0; + ret =3D 0; =20 exit: zfree(&t.sib_core); zfree(&t.sib_thr); =20 - return -1; + return ret; } --=20 2.42.0.609.gbb76f46606-goog From nobody Sat Jan 3 02:07:06 2026 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 B87EEE92FD0 for ; Thu, 5 Oct 2023 23:12:29 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229846AbjJEXMF (ORCPT ); Thu, 5 Oct 2023 19:12:05 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52206 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229640AbjJEXJp (ORCPT ); Thu, 5 Oct 2023 19:09:45 -0400 Received: from mail-yb1-xb4a.google.com (mail-yb1-xb4a.google.com [IPv6:2607:f8b0:4864:20::b4a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4ACE0137 for ; Thu, 5 Oct 2023 16:09:31 -0700 (PDT) Received: by mail-yb1-xb4a.google.com with SMTP id 3f1490d57ef6-d8141d6fbe3so1903632276.3 for ; Thu, 05 Oct 2023 16:09:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1696547370; x=1697152170; darn=vger.kernel.org; h=to:from:subject:references:mime-version:message-id:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=HGxcidzGPRegna1u1K7BT077Nrlph2dhlmMJs3FQauY=; b=qjtCvls5v8mag+wFClqLuBaKLzk6ijHeHJt4XcHzOxbnR1rQR1spiwejCbu0YVBuI/ cluu6B6kbyRaJ1sb5HPqGcTgislwsIrmQWi158NgzXwvwL7G13hlOacWou+SijnRv0Lo Mw8ClDoyvOpV0QXDm7rs1UPsVGFLhLeuc3XkQv+MctNpbw8bmo8B+dsSdPqVLo6sKQb3 gIbydW4Zzvx9cGBKz9yPKhnhXDRW1YOvrOvPJzkQd3ctbyWpOWoDfLx4UoF4RvTkgU0y 9O4Gn02xioFzNdYrO0/maAxkgco11ttZ63P+F9/y/OpL6PXFG6fPbXb4iH9+7TQidOgx AWjg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696547370; x=1697152170; 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=HGxcidzGPRegna1u1K7BT077Nrlph2dhlmMJs3FQauY=; b=Hvpzsns7n4q1psc9lNcIGwAiJifhNKmyornCrK63sjZ+P2JLp24yH8JrCxWT+vkqMX G1A1dBV25wFCbGSCLtsSssgZ5YvMJgu+ulR8p7m2gAE7kcfP418TfNuo5QNLMy1Eba57 LYOn5/ChbOwe3DMXbd92UhhKHMcm9qJ2ehderLPaN19p5ei1RuqI9nsr6SfpKNIzQBxu yKYA3qFRZf72pUzOOvqp5wXxkAxVc6lk/HsnpnNGDTOOWz9ADzBuwMRY4eNaH0NWgg0n wCyP/uGfRdddEAsIU8HLIExzybjebwlTtMlJs5bN3cj5xWJ6UMbZZrkhfgGDSm8V3GkN 2Y/g== X-Gm-Message-State: AOJu0YwfoqkttFhFGGmmv5wTzSpMJ9GVZDjwQKV/eomL3BvAqHAspdfN 2rR41D9uPBpMgHCFWjndlZuTFh7Lcaw7 X-Google-Smtp-Source: AGHT+IEgTi3PLG+3o2WWDEFrIlbIkR+q1EaEaSDVhwE+qexUhANhreJWyGErr61dmZWaJXVBJMGi41ML+jYa X-Received: from irogers.svl.corp.google.com ([2620:15c:2a3:200:7449:56a1:2b14:305b]) (user=irogers job=sendgmr) by 2002:a25:74c2:0:b0:d7b:9902:fb3d with SMTP id p185-20020a2574c2000000b00d7b9902fb3dmr105008ybc.0.1696547370559; Thu, 05 Oct 2023 16:09:30 -0700 (PDT) Date: Thu, 5 Oct 2023 16:08:47 -0700 In-Reply-To: <20231005230851.3666908-1-irogers@google.com> Message-Id: <20231005230851.3666908-15-irogers@google.com> Mime-Version: 1.0 References: <20231005230851.3666908-1-irogers@google.com> X-Mailer: git-send-email 2.42.0.609.gbb76f46606-goog Subject: [PATCH v2 14/18] perf parse-events: Fix unlikely memory leak when cloning terms From: Ian Rogers To: Nathan Chancellor , Nick Desaulniers , Tom Rix , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Ian Rogers , Adrian Hunter , Yicong Yang , Jonathan Cameron , Yang Jihong , Kan Liang , Ming Wang , Huacai Chen , Sean Christopherson , K Prateek Nayak , Yanteng Si , Yuan Can , Ravi Bangoria , James Clark , llvm@lists.linux.dev, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, bpf@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Add missing free on an error path as detected by clang-tidy. Signed-off-by: Ian Rogers --- tools/perf/util/parse-events.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tools/perf/util/parse-events.c b/tools/perf/util/parse-events.c index c56e07bd7dd6..23c027cf20ae 100644 --- a/tools/perf/util/parse-events.c +++ b/tools/perf/util/parse-events.c @@ -2549,8 +2549,10 @@ int parse_events_term__clone(struct parse_events_ter= m **new, return new_term(new, &temp, /*str=3D*/NULL, term->val.num); =20 str =3D strdup(term->val.str); - if (!str) + if (!str) { + zfree(&temp.config); return -ENOMEM; + } return new_term(new, &temp, str, /*num=3D*/0); } =20 --=20 2.42.0.609.gbb76f46606-goog From nobody Sat Jan 3 02:07:06 2026 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 A347EE92FCE for ; Thu, 5 Oct 2023 23:22:25 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229814AbjJEXWY (ORCPT ); Thu, 5 Oct 2023 19:22:24 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35658 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229710AbjJEXUk (ORCPT ); Thu, 5 Oct 2023 19:20:40 -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 A4F58D70 for ; Thu, 5 Oct 2023 16:09:33 -0700 (PDT) Received: by mail-yw1-x114a.google.com with SMTP id 00721157ae682-59f61a639b9so22038437b3.1 for ; Thu, 05 Oct 2023 16:09:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1696547373; x=1697152173; darn=vger.kernel.org; h=to:from:subject:references:mime-version:message-id:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=XtYWHIWRia4V/bq2E7J5Z+6HzWlGjlCMeDuedPRX49U=; b=fhhJXZD5Qj8zrrUspUuhy8saP1dXx/3nv6YL2dXlA1f2iAakZNuIR/xEVBscrK3sfz rmgoHL5VgHkbnUbzYapkAALFe1d5GTLZb8rXeuwpdu4Ir9ouDmeXmJNxhAy9hdRtVceM t/XVFFrVt5cWNsY7aPfPM5XMYaDP7inSDgFhwNDG13XCG5OCC4UVyx+5jRblmOxj6zLt L/FBG1pR074VxvJBtmn1Sq3jDWGHnPu/VTX0n4OdC9ZfCrmwaiIYAiLPIicQzlf4Tz8V bsquTprunvD+/E9gxjFh+e33nLpdjeFPmv4hdefepxouwwiQgYr19D3ZpwrsVHJabY77 93hg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696547373; x=1697152173; 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=XtYWHIWRia4V/bq2E7J5Z+6HzWlGjlCMeDuedPRX49U=; b=N2dttJ/jh4ukzlQ5xENm8nujMC+MHEfUmZT6cp/UlCy7UjbI6f4oytYv6qt06gs3Xs +CSYYattC/+6juPTY5xhxAUzo1ntgTP14ExhqbELuTj3h21iFWcCzTuDvv4qS14K4dhb S1aMcV8PpLy0abjTwUZqPCVRfJobTe53H2rOsiEft8ZA5BXtNbDpxYjAdN+4EO0y2rmV gpYS/F9+75gRzFlTLN9XGngp7QUKoEoOIUwNvA/4kg1U2Z9ZFC0Zyez4caveg/T+8EsD QoVbQ7ibeZfw2GV8xMXu/Mtcne2lrZ8IEcxmrV8R9FyS4ALGnSqvOQI9o6cLkqYgAyqP VdPg== X-Gm-Message-State: AOJu0Yx0eO4ahy6dTqg+n9FQEOt/17JmFLxskm/m5r2fRnlrKw7ot1gQ AQtBVWTrf2vpUu02DbFpx5K+i5GvCB19 X-Google-Smtp-Source: AGHT+IGYGvZnkG9pZnldPftjX0X/I/7GYYCZctlrfJO2uLsaOS59cFuWhBo7VZbssurDfKkKblBviKnfkqu4 X-Received: from irogers.svl.corp.google.com ([2620:15c:2a3:200:7449:56a1:2b14:305b]) (user=irogers job=sendgmr) by 2002:a81:4325:0:b0:59b:eace:d46f with SMTP id q37-20020a814325000000b0059beaced46fmr114023ywa.8.1696547372891; Thu, 05 Oct 2023 16:09:32 -0700 (PDT) Date: Thu, 5 Oct 2023 16:08:48 -0700 In-Reply-To: <20231005230851.3666908-1-irogers@google.com> Message-Id: <20231005230851.3666908-16-irogers@google.com> Mime-Version: 1.0 References: <20231005230851.3666908-1-irogers@google.com> X-Mailer: git-send-email 2.42.0.609.gbb76f46606-goog Subject: [PATCH v2 15/18] tools api: Avoid potential double free From: Ian Rogers To: Nathan Chancellor , Nick Desaulniers , Tom Rix , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Ian Rogers , Adrian Hunter , Yicong Yang , Jonathan Cameron , Yang Jihong , Kan Liang , Ming Wang , Huacai Chen , Sean Christopherson , K Prateek Nayak , Yanteng Si , Yuan Can , Ravi Bangoria , James Clark , llvm@lists.linux.dev, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, bpf@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" io__getline will free the line on error but it doesn't clear the out argument. This may lead to the line being freed twice, like in tools/perf/util/srcline.c as detected by clang-tidy. Signed-off-by: Ian Rogers --- tools/lib/api/io.h | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/lib/api/io.h b/tools/lib/api/io.h index 9fc429d2852d..a77b74c5fb65 100644 --- a/tools/lib/api/io.h +++ b/tools/lib/api/io.h @@ -180,6 +180,7 @@ static inline ssize_t io__getline(struct io *io, char *= *line_out, size_t *line_l return line_len; err_out: free(line); + *line_out =3D NULL; return -ENOMEM; } =20 --=20 2.42.0.609.gbb76f46606-goog From nobody Sat Jan 3 02:07:06 2026 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 C8C51E92FD2 for ; Thu, 5 Oct 2023 23:12:29 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229868AbjJEXMI (ORCPT ); Thu, 5 Oct 2023 19:12:08 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52216 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229642AbjJEXJp (ORCPT ); Thu, 5 Oct 2023 19:09:45 -0400 Received: from mail-yb1-xb4a.google.com (mail-yb1-xb4a.google.com [IPv6:2607:f8b0:4864:20::b4a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CFA1811F for ; Thu, 5 Oct 2023 16:09:35 -0700 (PDT) Received: by mail-yb1-xb4a.google.com with SMTP id 3f1490d57ef6-c647150c254so1378483276.1 for ; Thu, 05 Oct 2023 16:09:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1696547375; x=1697152175; darn=vger.kernel.org; h=to:from:subject:references:mime-version:message-id:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=oxVOZd3C3ppqYjNmukwrdUncP0WHK7JyRq4ciQhpawI=; b=TUOafyNyFpkw5HlqfYRfZ2KDifTOAdVmsiDbHfjG/tZN/K8MzsmB/ZyW5kBRpV2Vxy de74SPcO2Y7bY63zeRo9X8qRZb4HqiJdZ5erMNkRGnn2RLShlYln8bQWo9Tr1me2ePok FQI67umDKydZoQghwfHdaV8hDbSXJh9GRZgQ1CsKGmFkPlmL5MO7j/icse3vDywordTm 8W/sjG/pfzMWKZR3cNINtiHol7zEsm3s0i4AxMwLJqVdmUaG8VVo0nQtuiSl5ljNeFF9 URw4OS+6wvbgPA8PFEREKVzNQQeBUu89MH+A/ukCoDC3jrHzJDnR1x+stOZJBTl/VL/k YAWw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696547375; x=1697152175; 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=oxVOZd3C3ppqYjNmukwrdUncP0WHK7JyRq4ciQhpawI=; b=stQCQlSWpjq+llZZzF6HDAmtRfWg7u2gbXLflJmbHiTZhpLMYcD229LJYLoHqqrwrq D334CTm8sFBYL8/NmgFQXpyQGBVKQrj9Bi7UuExZkkuafvfmhz25tvH/FBmXq1nAW4b5 QikSImkeZWzaSgGdFVB3CdTualEN+fFAdETdeI6KYkuD7q5X0VqxyWve+Sm5guf/hMM/ T3gPtrtJdVQIB9tfX9BswqFdMNZ0tZe6uwiTf9H75QnO0NRhub3uu42HqVnnFjEWajrK 4tgMPARuf6n7T+Ecb6kLK3AiEGt+AgwP4VMeR33f8bJbW5PqWKk0TS4lJ42WtRe0GqQE 5jMQ== X-Gm-Message-State: AOJu0YytpsmsT0Y71buh5/vCX31QqRKlZ3LhJR5SuNftR6ExkCUN50uD EHYLITwRs9/lLFx/cKOp6DEMhiXCbmlj X-Google-Smtp-Source: AGHT+IGhoEJjFH3ZasD0vN2aSL1BJQWA509hpCLmPH3Yh8OO4E14fhwoU9hhQx/jEj6F0UZsTT+z8Dsn07pZ X-Received: from irogers.svl.corp.google.com ([2620:15c:2a3:200:7449:56a1:2b14:305b]) (user=irogers job=sendgmr) by 2002:a25:6a04:0:b0:d89:42d7:e72d with SMTP id f4-20020a256a04000000b00d8942d7e72dmr57696ybc.3.1696547375084; Thu, 05 Oct 2023 16:09:35 -0700 (PDT) Date: Thu, 5 Oct 2023 16:08:49 -0700 In-Reply-To: <20231005230851.3666908-1-irogers@google.com> Message-Id: <20231005230851.3666908-17-irogers@google.com> Mime-Version: 1.0 References: <20231005230851.3666908-1-irogers@google.com> X-Mailer: git-send-email 2.42.0.609.gbb76f46606-goog Subject: [PATCH v2 16/18] perf trace-event-info: Avoid passing NULL value to closedir From: Ian Rogers To: Nathan Chancellor , Nick Desaulniers , Tom Rix , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Ian Rogers , Adrian Hunter , Yicong Yang , Jonathan Cameron , Yang Jihong , Kan Liang , Ming Wang , Huacai Chen , Sean Christopherson , K Prateek Nayak , Yanteng Si , Yuan Can , Ravi Bangoria , James Clark , llvm@lists.linux.dev, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, bpf@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" If opendir failed then closedir was passed NULL which is erroneous. Caught by clang-tidy. Signed-off-by: Ian Rogers --- tools/perf/util/trace-event-info.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tools/perf/util/trace-event-info.c b/tools/perf/util/trace-eve= nt-info.c index 319ccf09a435..c8755679281e 100644 --- a/tools/perf/util/trace-event-info.c +++ b/tools/perf/util/trace-event-info.c @@ -313,7 +313,8 @@ static int record_event_files(struct tracepoint_path *t= ps) } err =3D 0; out: - closedir(dir); + if (dir) + closedir(dir); put_tracing_file(path); =20 return err; --=20 2.42.0.609.gbb76f46606-goog From nobody Sat Jan 3 02:07:06 2026 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 C7041E92FC9 for ; Thu, 5 Oct 2023 23:22:20 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229733AbjJEXWT (ORCPT ); Thu, 5 Oct 2023 19:22:19 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45820 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229692AbjJEXUa (ORCPT ); Thu, 5 Oct 2023 19:20:30 -0400 Received: from mail-yb1-xb4a.google.com (mail-yb1-xb4a.google.com [IPv6:2607:f8b0:4864:20::b4a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 52896D7B for ; Thu, 5 Oct 2023 16:09:38 -0700 (PDT) Received: by mail-yb1-xb4a.google.com with SMTP id 3f1490d57ef6-d8b2eec15d3so1972526276.1 for ; Thu, 05 Oct 2023 16:09:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1696547377; x=1697152177; darn=vger.kernel.org; h=to:from:subject:references:mime-version:message-id:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=qYwGkCO2MUsLkIeTcNd4b7CxJky5rinvoIEFDCIq7TE=; b=AmygH3mhIGKPLin8SH2nsSFuBclbRF8DCk8KZ5z1+8inIU4t0OFZvWvAy0F/9pJaam +X71LhtnxiXOgVOBSDCq+5UeFL9b4yt4i7S5sfNWCkpdonHWsMFXHaBdJMjVvoBeGtoT +jflVR5R8dkmjcQKmYk81wOaBFQtqhz1P6xk9ilxZnouc5JP1g4JVzwBa8j8B9dOSeCh YqW/pHWV4RqaomBnOz7sSLgcdX27oLpj2l5XexX7cWLYrMaaKDgNAajaOa9CKqkAUjAb aoQIq/NmkzMmojW9sUOxZCFyrIgo4VyAZclr94JY8czCDgI+imWcRygyRRwXCi7Qzs0W T0/w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696547377; x=1697152177; 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=qYwGkCO2MUsLkIeTcNd4b7CxJky5rinvoIEFDCIq7TE=; b=a3txneB5uto6oQmp9RwkjX2xoX6kfohTQO72Xl2i9O3Atyv9POHS7zKmLxFC1lRpxo 5NuVugdF4KJPiF5/S33+aItkAa3OelWdQn0rdOD18Hp97Vav/0Gasa/8QTtQlBO2wFNP 5hTNYzz0M0GUsJ/ymjF9lZLaMUndboPOxLSR740tPgECc0DQxLlCaFbBVlLvgEWTUqjI XS5JBshNeqxRVo3s1f6skyc8UPQ7fgfOf0RN4TBRhS485TAahDHm8rKc1YTxBNtL4qIW Hi01uWtxmDedEFHubPkEenPIxOQUPyF/QPzeiK9xqJGtRyV6pdSrPK6eFQlpnJ0oMMHz RqbA== X-Gm-Message-State: AOJu0YyE2uaeqKvqZjPFrV24tKMKdt2Yybay+ueF3DqMudaEeofxCG+k MXSwbtiag4I0B1vlU6zxRBE0TXwcyvdf X-Google-Smtp-Source: AGHT+IHWDvJDX0friGLPas8sSB1bU+Zqlv0548Stovx09NJffOSg70jhIDwPg6UsbunfjJZrgTn004zZHK20 X-Received: from irogers.svl.corp.google.com ([2620:15c:2a3:200:7449:56a1:2b14:305b]) (user=irogers job=sendgmr) by 2002:a25:8e8e:0:b0:d90:e642:d9fc with SMTP id q14-20020a258e8e000000b00d90e642d9fcmr96425ybl.6.1696547377572; Thu, 05 Oct 2023 16:09:37 -0700 (PDT) Date: Thu, 5 Oct 2023 16:08:50 -0700 In-Reply-To: <20231005230851.3666908-1-irogers@google.com> Message-Id: <20231005230851.3666908-18-irogers@google.com> Mime-Version: 1.0 References: <20231005230851.3666908-1-irogers@google.com> X-Mailer: git-send-email 2.42.0.609.gbb76f46606-goog Subject: [PATCH v2 17/18] perf header: Fix various error path memory leaks From: Ian Rogers To: Nathan Chancellor , Nick Desaulniers , Tom Rix , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Ian Rogers , Adrian Hunter , Yicong Yang , Jonathan Cameron , Yang Jihong , Kan Liang , Ming Wang , Huacai Chen , Sean Christopherson , K Prateek Nayak , Yanteng Si , Yuan Can , Ravi Bangoria , James Clark , llvm@lists.linux.dev, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, bpf@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Memory leaks were detected by clang-tidy. Signed-off-by: Ian Rogers --- tools/perf/util/header.c | 63 ++++++++++++++++++++++++---------------- 1 file changed, 38 insertions(+), 25 deletions(-) diff --git a/tools/perf/util/header.c b/tools/perf/util/header.c index d812e1e371a7..41b78e40b22b 100644 --- a/tools/perf/util/header.c +++ b/tools/perf/util/header.c @@ -2598,8 +2598,10 @@ static int process_cpu_topology(struct feat_fd *ff, = void *data __maybe_unused) goto error; =20 /* include a NULL character at the end */ - if (strbuf_add(&sb, str, strlen(str) + 1) < 0) + if (strbuf_add(&sb, str, strlen(str) + 1) < 0) { + free(str); goto error; + } size +=3D string_size(str); free(str); } @@ -2617,8 +2619,10 @@ static int process_cpu_topology(struct feat_fd *ff, = void *data __maybe_unused) goto error; =20 /* include a NULL character at the end */ - if (strbuf_add(&sb, str, strlen(str) + 1) < 0) + if (strbuf_add(&sb, str, strlen(str) + 1) < 0) { + free(str); goto error; + } size +=3D string_size(str); free(str); } @@ -2681,8 +2685,10 @@ static int process_cpu_topology(struct feat_fd *ff, = void *data __maybe_unused) goto error; =20 /* include a NULL character at the end */ - if (strbuf_add(&sb, str, strlen(str) + 1) < 0) + if (strbuf_add(&sb, str, strlen(str) + 1) < 0) { + free(str); goto error; + } size +=3D string_size(str); free(str); } @@ -2736,10 +2742,9 @@ static int process_numa_topology(struct feat_fd *ff,= void *data __maybe_unused) goto error; =20 n->map =3D perf_cpu_map__new(str); + free(str); if (!n->map) goto error; - - free(str); } ff->ph->env.nr_numa_nodes =3D nr; ff->ph->env.numa_nodes =3D nodes; @@ -2913,10 +2918,10 @@ static int process_cache(struct feat_fd *ff, void *= data __maybe_unused) return -1; =20 for (i =3D 0; i < cnt; i++) { - struct cpu_cache_level c; + struct cpu_cache_level *c =3D &caches[i]; =20 #define _R(v) \ - if (do_read_u32(ff, &c.v))\ + if (do_read_u32(ff, &c->v)) \ goto out_free_caches; \ =20 _R(level) @@ -2926,22 +2931,25 @@ static int process_cache(struct feat_fd *ff, void *= data __maybe_unused) #undef _R =20 #define _R(v) \ - c.v =3D do_read_string(ff); \ - if (!c.v) \ - goto out_free_caches; + c->v =3D do_read_string(ff); \ + if (!c->v) \ + goto out_free_caches; \ =20 _R(type) _R(size) _R(map) #undef _R - - caches[i] =3D c; } =20 ff->ph->env.caches =3D caches; ff->ph->env.caches_cnt =3D cnt; return 0; out_free_caches: + for (i =3D 0; i < cnt; i++) { + free(caches[i].type); + free(caches[i].size); + free(caches[i].map); + } free(caches); return -1; } @@ -3585,18 +3593,16 @@ static int perf_header__adds_write(struct perf_head= er *header, struct feat_copier *fc) { int nr_sections; - struct feat_fd ff; + struct feat_fd ff =3D { + .fd =3D fd, + .ph =3D header, + }; struct perf_file_section *feat_sec, *p; int sec_size; u64 sec_start; int feat; int err; =20 - ff =3D (struct feat_fd){ - .fd =3D fd, - .ph =3D header, - }; - nr_sections =3D bitmap_weight(header->adds_features, HEADER_FEAT_BITS); if (!nr_sections) return 0; @@ -3623,6 +3629,7 @@ static int perf_header__adds_write(struct perf_header= *header, err =3D do_write(&ff, feat_sec, sec_size); if (err < 0) pr_debug("failed to write feature section\n"); + free(ff.buf); free(feat_sec); return err; } @@ -3630,11 +3637,11 @@ static int perf_header__adds_write(struct perf_head= er *header, int perf_header__write_pipe(int fd) { struct perf_pipe_file_header f_header; - struct feat_fd ff; + struct feat_fd ff =3D { + .fd =3D fd, + }; int err; =20 - ff =3D (struct feat_fd){ .fd =3D fd }; - f_header =3D (struct perf_pipe_file_header){ .magic =3D PERF_MAGIC, .size =3D sizeof(f_header), @@ -3645,7 +3652,7 @@ int perf_header__write_pipe(int fd) pr_debug("failed to write perf pipe header\n"); return err; } - + free(ff.buf); return 0; } =20 @@ -3658,11 +3665,12 @@ static int perf_session__do_write_header(struct per= f_session *session, struct perf_file_attr f_attr; struct perf_header *header =3D &session->header; struct evsel *evsel; - struct feat_fd ff; + struct feat_fd ff =3D { + .fd =3D fd, + }; u64 attr_offset; int err; =20 - ff =3D (struct feat_fd){ .fd =3D fd}; lseek(fd, sizeof(f_header), SEEK_SET); =20 evlist__for_each_entry(session->evlist, evsel) { @@ -3670,6 +3678,7 @@ static int perf_session__do_write_header(struct perf_= session *session, err =3D do_write(&ff, evsel->core.id, evsel->core.ids * sizeof(u64)); if (err < 0) { pr_debug("failed to write perf header\n"); + free(ff.buf); return err; } } @@ -3695,6 +3704,7 @@ static int perf_session__do_write_header(struct perf_= session *session, err =3D do_write(&ff, &f_attr, sizeof(f_attr)); if (err < 0) { pr_debug("failed to write perf header attribute\n"); + free(ff.buf); return err; } } @@ -3705,8 +3715,10 @@ static int perf_session__do_write_header(struct perf= _session *session, =20 if (at_exit) { err =3D perf_header__adds_write(header, evlist, fd, fc); - if (err < 0) + if (err < 0) { + free(ff.buf); return err; + } } =20 f_header =3D (struct perf_file_header){ @@ -3728,6 +3740,7 @@ static int perf_session__do_write_header(struct perf_= session *session, =20 lseek(fd, 0, SEEK_SET); err =3D do_write(&ff, &f_header, sizeof(f_header)); + free(ff.buf); if (err < 0) { pr_debug("failed to write perf header\n"); return err; --=20 2.42.0.609.gbb76f46606-goog From nobody Sat Jan 3 02:07:06 2026 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 DEB08E92FD1 for ; Thu, 5 Oct 2023 23:12:29 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229875AbjJEXMM (ORCPT ); Thu, 5 Oct 2023 19:12:12 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57506 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229514AbjJEXJz (ORCPT ); Thu, 5 Oct 2023 19:09:55 -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 86FA310C3 for ; Thu, 5 Oct 2023 16:09:40 -0700 (PDT) Received: by mail-yw1-x114a.google.com with SMTP id 00721157ae682-59f8188b718so22137617b3.1 for ; Thu, 05 Oct 2023 16:09:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1696547379; x=1697152179; darn=vger.kernel.org; h=to:from:subject:references:mime-version:message-id:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=wfL4FLU++s9CKjil59t6XdpqiER2jatUC+zl7nbhx6Q=; b=aFrkysO+gaNCXmgevliCscZ/ljl+qyLGxh4dkDOE8MXHBtBSjaflkaNqf2jTG4i5MD QtJwYlUVzJGLFXYJeZ9yJS3xK449JhO48JT8wJ/tKK35WVBEm7gtvtrRIKJd2rVXJtLO g2HLvywtsp55v2tSZ2083iBvgZgZBcwkM6CxQ+xGntrWJifs4LlmqTIWbWxKqY+vj0im PAC6FeLuZn6ZHpcRxe1YAlbr+xT9mxYJJZnB4osUIzw90DTyqF8NO9Na5inVskaKuxVs JG4gVSQty7O5rVwbeI/Uj4la9jQAU4m5H05vmWXCJnFAHhjRkP88CPBK+X+HW6J/LANl Q3aA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696547379; x=1697152179; 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=wfL4FLU++s9CKjil59t6XdpqiER2jatUC+zl7nbhx6Q=; b=OHzSJsatQJ/0NOHQsjn8xlNN6hAH5fCJkw5V2E8IpJAYRahkJkpNAb7u57F7dX3s6B r3Vv35mbExcdJx3dD1aN+zaiRgf+f3xof7Iku5DwWv4d2ObyY/GDTVDInGWcaNBwgwqs Wdf5f1rtr5p92MrQbrnwcUx78X0Ryr5dFqW7Zrnz2W0HahBJMrDOm+ess51tgYWVXPHE OwRPOtKcAtzd6kytAY+eQLaJ5h00szsUkgFLU9UmFhLJmesdN3EtQNEmf3vj66g5VlQ/ 2yDd/GtM9i5ZJKY7osJpTmZlD2BFh60Upp9zb4BHOslngy90ApjLEoJjhc0Yqa1K2+6/ vcLQ== X-Gm-Message-State: AOJu0Yy0tDgoNKpPLVdRbT6JhXK/IptsFtoYkgnZ6oJKQZnKYkYZTuC7 qRG0DBR+3Y4E1kPupvnpvHmscIFXYtCA X-Google-Smtp-Source: AGHT+IHgsU7WqtGzIXgNXr1P8QSditE9WLikTdLCJCQWnQLq+FpPEmuFYiUkFS5RxrsXiCHqXCKcfq5Bkre2 X-Received: from irogers.svl.corp.google.com ([2620:15c:2a3:200:7449:56a1:2b14:305b]) (user=irogers job=sendgmr) by 2002:a25:586:0:b0:d7e:dff4:b0fe with SMTP id 128-20020a250586000000b00d7edff4b0femr96767ybf.7.1696547379763; Thu, 05 Oct 2023 16:09:39 -0700 (PDT) Date: Thu, 5 Oct 2023 16:08:51 -0700 In-Reply-To: <20231005230851.3666908-1-irogers@google.com> Message-Id: <20231005230851.3666908-19-irogers@google.com> Mime-Version: 1.0 References: <20231005230851.3666908-1-irogers@google.com> X-Mailer: git-send-email 2.42.0.609.gbb76f46606-goog Subject: [PATCH v2 18/18] perf bpf_counter: Fix a few memory leaks From: Ian Rogers To: Nathan Chancellor , Nick Desaulniers , Tom Rix , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Ian Rogers , Adrian Hunter , Yicong Yang , Jonathan Cameron , Yang Jihong , Kan Liang , Ming Wang , Huacai Chen , Sean Christopherson , K Prateek Nayak , Yanteng Si , Yuan Can , Ravi Bangoria , James Clark , llvm@lists.linux.dev, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, bpf@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Memory leaks were detected by clang-tidy. Signed-off-by: Ian Rogers --- tools/perf/util/bpf_counter.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tools/perf/util/bpf_counter.c b/tools/perf/util/bpf_counter.c index 6732cbbcf9b3..7f9b0e46e008 100644 --- a/tools/perf/util/bpf_counter.c +++ b/tools/perf/util/bpf_counter.c @@ -104,7 +104,7 @@ static int bpf_program_profiler_load_one(struct evsel *= evsel, u32 prog_id) struct bpf_prog_profiler_bpf *skel; struct bpf_counter *counter; struct bpf_program *prog; - char *prog_name; + char *prog_name =3D NULL; int prog_fd; int err; =20 @@ -155,10 +155,12 @@ static int bpf_program_profiler_load_one(struct evsel= *evsel, u32 prog_id) assert(skel !=3D NULL); counter->skel =3D skel; list_add(&counter->list, &evsel->bpf_counter_list); + free(prog_name); close(prog_fd); return 0; err_out: bpf_prog_profiler_bpf__destroy(skel); + free(prog_name); free(counter); close(prog_fd); return -1; @@ -180,6 +182,7 @@ static int bpf_program_profiler__load(struct evsel *evs= el, struct target *target (*p !=3D '\0' && *p !=3D ',')) { pr_err("Failed to parse bpf prog ids %s\n", target->bpf_str); + free(bpf_str_); return -1; } =20 --=20 2.42.0.609.gbb76f46606-goog