From nobody Fri Jan 2 17:31:31 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 3197DCD611E for ; Mon, 9 Oct 2023 18:39:36 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1378228AbjJISjf (ORCPT ); Mon, 9 Oct 2023 14:39:35 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43018 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1378156AbjJISjb (ORCPT ); Mon, 9 Oct 2023 14:39:31 -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 6500CA6 for ; Mon, 9 Oct 2023 11:39:29 -0700 (PDT) Received: by mail-yw1-x114a.google.com with SMTP id 00721157ae682-5a213b4d0efso73084397b3.2 for ; Mon, 09 Oct 2023 11:39:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1696876768; x=1697481568; 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=TKxbdCDkBWdYhlDTIxIVylHp7xWFWu79iK2O8lraz+QDiWTJx6k3QpxaoGQYe5R260 tpPX5YRHBNoLzTx9lxfzsvzwUgnUixUpG3YF2qJEh+f3W+upCMFj39WhJ1RFlhbqOdIE zv46yB5jOSK/FWrAIP0xI7qMdCrB4ZSVoT3nbBaOpLMAcdrtSdT0jL0loH98XA0aLhZr dtufYrU14jAAPjxsrLyBTcCiXb+YzC2NCauiChbTmXQrsb85qRMCpph6A2PcgVAraVVn OrxbsQEQRXqHNBTfBJUgL0GTbYGBPSVPi2Y7YtJmK7ZJ5MvFYRP3/q1E6AFfrfXkTO8Y 00wA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696876768; x=1697481568; 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=CJXsUOPMLnOwtmbcZumSd3+MFSLggWxP5PrCQWfw7Ms0ejtXqra6KvOkm27JgMBSRE PLPbmD2T0Y44v1HTnjMWBR5g6cmGxQIta31CvONbxsNlTbD/5SyPBC/Nv66WGX9NxUdu Oovbk3wsuhMJkI+trnce0ArBoZJj4z+JlaGG6B415uJS4GEoc/EzZfIKRWfUVL6Zkpih StH9crgXmllcPMKyD747J2tKWG7Gocsc4lGUvVFz+kHfnFrzZlIUr2BIcoQ/QAnP8Pst u5OaGapEjGtT1d0GS35i/MWffbihtFuuy5fXPzcDDIHLWL7GYqPacXr6n26+Dt3LY8Kh RO/w== X-Gm-Message-State: AOJu0YxY6xcKR5OQsJIRtLdcGiBr4s+rxxgPV5tiNnd0uO3vxYdv/xHM kqCwrw3WXuLHeAXweQmq/3B5sLpF/mFz X-Google-Smtp-Source: AGHT+IE8rbiHTWNG1mYNALTAoi+/t0J7e5qpPykiWnCmQtpQDmBIpJJlxaAEE5cILLQqAZstEZU8apjPkO6F X-Received: from irogers.svl.corp.google.com ([2620:15c:2a3:200:ac4a:9b94:7158:3f4e]) (user=irogers job=sendgmr) by 2002:a81:bc03:0:b0:59b:c6bb:babb with SMTP id a3-20020a81bc03000000b0059bc6bbbabbmr297622ywi.6.1696876768652; Mon, 09 Oct 2023 11:39:28 -0700 (PDT) Date: Mon, 9 Oct 2023 11:39:02 -0700 In-Reply-To: <20231009183920.200859-1-irogers@google.com> Message-Id: <20231009183920.200859-2-irogers@google.com> Mime-Version: 1.0 References: <20231009183920.200859-1-irogers@google.com> X-Mailer: git-send-email 2.42.0.609.gbb76f46606-goog Subject: [PATCH v3 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 , Yang Jihong , Huacai Chen , Ming Wang , Kan Liang , Ravi Bangoria , 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 Acked-by: Namhyung Kim --- 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 Fri Jan 2 17:31:31 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 C50F2CD611E for ; Mon, 9 Oct 2023 18:39:41 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1378222AbjJISjk (ORCPT ); Mon, 9 Oct 2023 14:39:40 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43044 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1378216AbjJISjd (ORCPT ); Mon, 9 Oct 2023 14:39:33 -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 056F5A6 for ; Mon, 9 Oct 2023 11:39:32 -0700 (PDT) Received: by mail-yb1-xb4a.google.com with SMTP id 3f1490d57ef6-d866d13c637so6317834276.3 for ; Mon, 09 Oct 2023 11:39:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1696876771; x=1697481571; 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=rJVw0PRwWoWB1JfvSPLNZitx9J0lPvSXce12MjbCoJebzY1f9ObYixNey0ePBNFGfu k+lYGp4k8V7bZWyIhtZF87XDFupG6NLihJ/k8/6kLHwbifENW4htVxpYTIyzocosjnBD zi1BRAPqMy5DU/cb+BLUgRyLXV3jFcoQW5qaFBzzSbyhqCx7pgkBJouZ0CjLaixtELrp cxQ/xrh+S0k4ubh4VaeaDVdlkcuepGdD7Zyp51oQtxQBlLjvdiGNfUnFpfRM1xzmdXGM MO1x8FgShnL+xValM1rAQbHX/w8ozGFrtzMjX/rtNcAKSZhBmKazcwWpPPJ5C4y9eQuy /bwA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696876771; x=1697481571; 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=iAz4xOlXrT0x0cPmWCxEu3IyTrYVVv5OYjY6n/OdL/lL1IXo6NDty32J1R4gSMPPJA GKGwJdWsCFDMR5O/3VTdmIOe+LkI1g74MiCP1mtVJG28/37bv0cDs6/rqFnSqCHH/IQe lo6n+OhunmVOnVfou2BhhInd9FuyOCAgJplfZANzhxndauQH+oHsT91/AgaK8XetXPa6 syJ7eSNmcNt4yyiya1Qkz/AzAMJ0IJSl5bPaqlX+yzFcLCnMHSc87f1jPN8ZAT5X9D4l vZo8U7lar19hWFd5nE3iBNZZ7GoqPnHe7VILJziYszGisA+pGneLgD8K0VZHeNXWYXGn A43w== X-Gm-Message-State: AOJu0Yz87e8nQgS9G5nQ/Lq3SQV1Z3xBXIE9udK1iArdXEvjGNz5VyQS NN/C80b6fuQXeAtYWf0dRG3eMzMg6jVT X-Google-Smtp-Source: AGHT+IGj936HBpMxd79H02f/BbU/72frkk4HM9RAto5NleLe3XJS2mgffVtBe63zJHi0k9rP3973otb4eFsT X-Received: from irogers.svl.corp.google.com ([2620:15c:2a3:200:ac4a:9b94:7158:3f4e]) (user=irogers job=sendgmr) by 2002:a25:6881:0:b0:d89:4776:5d6b with SMTP id d123-20020a256881000000b00d8947765d6bmr254778ybc.5.1696876771177; Mon, 09 Oct 2023 11:39:31 -0700 (PDT) Date: Mon, 9 Oct 2023 11:39:03 -0700 In-Reply-To: <20231009183920.200859-1-irogers@google.com> Message-Id: <20231009183920.200859-3-irogers@google.com> Mime-Version: 1.0 References: <20231009183920.200859-1-irogers@google.com> X-Mailer: git-send-email 2.42.0.609.gbb76f46606-goog Subject: [PATCH v3 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 , Yang Jihong , Huacai Chen , Ming Wang , Kan Liang , Ravi Bangoria , 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 Acked-by: Namhyung Kim --- 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 Fri Jan 2 17:31:31 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 7635BCD611F for ; Mon, 9 Oct 2023 18:39:48 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1378276AbjJISjr (ORCPT ); Mon, 9 Oct 2023 14:39:47 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46046 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1378229AbjJISjk (ORCPT ); Mon, 9 Oct 2023 14:39:40 -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 99F33A4 for ; Mon, 9 Oct 2023 11:39:36 -0700 (PDT) Received: by mail-yw1-x1149.google.com with SMTP id 00721157ae682-59b5a586da6so39519087b3.1 for ; Mon, 09 Oct 2023 11:39:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1696876776; x=1697481576; 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=husYgJZI8HkXIeEAlVmrxb2HP2ESjHLdcuso9o2l4OQ=; b=pbgOyqyvlD011FRFCZ/wnDOEV5NneFzPc1aVqQOX6e9vd71ycHrFTGtTrzsDZpbS51 bRy1bc23HNVBTWBUNkbaWEyH0I0zxun1ux+KOKqJdfWvCiDaZO9S4CbXOwftQbK1Fbew G23hRCOPe+DEonYi44XWLaeZ1p+gdsUNgOChZUfpNqKZLan1DooqYNIvPUDMJDMFqB1V jMgQk0o1Ileg0vhoIrVvllaRXwzBaEhJAiwIAP5sWVw9AmMJ7KRmvOcrEaf4nZ0e0AIA ENkf4UU409d3SGJ6YzaCbgQqFvY63FzZkGo6S/PQ5g8GIpqgku46+K3o655OJ3C/qArk IqmQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696876776; x=1697481576; 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=husYgJZI8HkXIeEAlVmrxb2HP2ESjHLdcuso9o2l4OQ=; b=O9X41lfo7jG0zDljaGTwkRWLlYhVpra2xrRy/v5jU4k/NuJN2Qg3+B9SuZZf1fwvBh UXXgyh7qaTz/av6EmwpbwCMggfao5STCDnh6wNDjy2A/cOHHzQAXo85vqHoANJY4MTIc 1/fiLvk9NnA8ZTZWHoSmWgRzisWQmdTadTDKOqZTi/3w3aj9EWPAujnZQjMxCXwZFgb8 GEaO+OdqikJhs9YL/WNzZtTd5gsQfNURTh6k4dlMQisGcfQ9ymWC6msynWplDYVAvF2D X9yvfj66Vbj7idDwGjOMNROm0bcve5RQA4HX9rhfJgQu2FoWhXiKTSiVvErXLtdVFaB3 PUOw== X-Gm-Message-State: AOJu0YwNGS64e0QVT2f9nsBOySnUtCICCLOjJLk3zgXs4xMP/xE1u/T7 T09MoAfCWOPp4XMSjiyvQ/pIEEgaYSqC X-Google-Smtp-Source: AGHT+IEmIpves+ngQa/FnxLG2CDSAz+zgDHCABHfkgCw1xRVBQfEO08K/FXFPnYfqQ71+Ihm3xsKsmi3qj2I X-Received: from irogers.svl.corp.google.com ([2620:15c:2a3:200:ac4a:9b94:7158:3f4e]) (user=irogers job=sendgmr) by 2002:a05:690c:c90:b0:59b:b0b1:d75a with SMTP id cm16-20020a05690c0c9000b0059bb0b1d75amr262884ywb.4.1696876775752; Mon, 09 Oct 2023 11:39:35 -0700 (PDT) Date: Mon, 9 Oct 2023 11:39:05 -0700 In-Reply-To: <20231009183920.200859-1-irogers@google.com> Message-Id: <20231009183920.200859-5-irogers@google.com> Mime-Version: 1.0 References: <20231009183920.200859-1-irogers@google.com> X-Mailer: git-send-email 2.42.0.609.gbb76f46606-goog Subject: [PATCH v3 03/18] run-clang-tools: Add pass through checks 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 , Yang Jihong , Huacai Chen , Ming Wang , Kan Liang , Ravi Bangoria , 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 Acked-by: Namhyung Kim --- 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 Fri Jan 2 17:31:31 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 98A18CD611E for ; Mon, 9 Oct 2023 18:39:45 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1378291AbjJISjn (ORCPT ); Mon, 9 Oct 2023 14:39:43 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45986 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1378230AbjJISjg (ORCPT ); Mon, 9 Oct 2023 14:39:36 -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 0F1E3CA for ; Mon, 9 Oct 2023 11:39:34 -0700 (PDT) Received: by mail-yw1-x1149.google.com with SMTP id 00721157ae682-59f7d109926so74264337b3.2 for ; Mon, 09 Oct 2023 11:39:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1696876773; x=1697481573; 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=husYgJZI8HkXIeEAlVmrxb2HP2ESjHLdcuso9o2l4OQ=; b=q3MwS5SqifOzUElLTHKWkRfZVws4YDTwoeM6IgNevANP0y+8+EOzK57e63WLiODxJX 1on8wng9ck5yUo113CPYVkTKH/vhDJ379EuFMBNkjoY0YkSFQES/4+t75/mTtQSYKgup fmS7T4Y2mgfC3jhkaoVNsapb1CXkI48j6qiIeMCcQ9FmAmyG3EiBk+U9rh8u9ilgf+Xn 4g8GXp0lmJJvv92MH7iNbyntf/eMtK64JTgXeu1yprg8Eg3uRJwOAo0f5uBCH2UUylry pgwiCXEbuKYjwsN3qvchhjRWYz2TbUwrIKVqyHfUdcwMGVr9K7u+RmLzg1+0vHmu9qD1 ZM3Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696876773; x=1697481573; 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=husYgJZI8HkXIeEAlVmrxb2HP2ESjHLdcuso9o2l4OQ=; b=sqRlUzrGL5Hq7BpezTP7j/w4r/mZnOJSTmBzoZ7dReiRuIVkb7RmMIL9A7qAhNL/Fw AUZejaZ7TA8rexS0vwTwCOI+K6cAE+DWm0hdNDegCXCRpUVSJrBv6ip3EEbc8l7Ej/5E wcKKYCP2u17oAOzr9wefiEeodoQbbNAzGAKKHpkVqQnzkpKKwLouPVOIezh0GEe3ityW +1hA/WkCSIxTsPw3XTlmvwOTL70Ig0YhaYf5zs9JZxnPYdG2NieYLZhFyIoklRFJO3wd RdfTzlN/0M0v1XWk1omVIvYPE7qwm9yJwNqrwycVJ1sv8x47txola/SO7OkXgNsRj8RS nhPg== X-Gm-Message-State: AOJu0YyTKT6LBWY/4ByxgtHClgzCU1a5+logBVLb3pPRWDBzWKC7lQa6 d0YAweh/r7dK/Unb2/6fZubyXUO2yn+i X-Google-Smtp-Source: AGHT+IHhtsuWVOhbFVDqVr7kwVoc3IhqYcfVk/+Ozn3UkaCuNcjQLVk5uFUA97D/yQhm0NP4FMqRmqlmjGkp X-Received: from irogers.svl.corp.google.com ([2620:15c:2a3:200:ac4a:9b94:7158:3f4e]) (user=irogers job=sendgmr) by 2002:a05:6902:212:b0:d89:b072:d06f with SMTP id j18-20020a056902021200b00d89b072d06fmr251520ybs.7.1696876773275; Mon, 09 Oct 2023 11:39:33 -0700 (PDT) Date: Mon, 9 Oct 2023 11:39:04 -0700 In-Reply-To: <20231009183920.200859-1-irogers@google.com> Message-Id: <20231009183920.200859-4-irogers@google.com> Mime-Version: 1.0 References: <20231009183920.200859-1-irogers@google.com> X-Mailer: git-send-email 2.42.0.609.gbb76f46606-goog Subject: [PATCH v3 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 , Yang Jihong , Huacai Chen , Ming Wang , Kan Liang , Ravi Bangoria , 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 Acked-by: Namhyung Kim --- 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 Fri Jan 2 17:31:31 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 C7BF8CD611D for ; Mon, 9 Oct 2023 18:39:53 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1378339AbjJISjw (ORCPT ); Mon, 9 Oct 2023 14:39:52 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43060 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1378201AbjJISjl (ORCPT ); Mon, 9 Oct 2023 14:39:41 -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 BC627FB for ; Mon, 9 Oct 2023 11:39:38 -0700 (PDT) Received: by mail-yb1-xb4a.google.com with SMTP id 3f1490d57ef6-d9a4ae873edso293127276.3 for ; Mon, 09 Oct 2023 11:39:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1696876778; x=1697481578; 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=yJ7plmLe4lpsv+raN9xFF/rU7/DGO5wkyB71VErLaVEJqqPFzGWQmA4JONtB/J867G W60pawhGLCANJV9jhSoZt3DqwXzlvCm/0p7Clz84lfk0JOFiiAtkUKb3lV5G5WgQKPfX OWgp77Zs2c+ZO90MAfurYZUD+RINLwhHyAJ23aBWeacroCgeEC6I80dxnI3Pk+15o6XX rgyTB1WIqwDEneGrUOjs7qFxpVkA7oEHynZMTclaq4zZms7BXm3/Ef0rnQeVfA51sT5O dtOryD5Mh9C8II+5L8/3QFOP8+tVguAmgjp0l+lr9VoDJqeGqQ/lnjTUHLAWnX7naP4e X5gA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696876778; x=1697481578; 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=ps/pse+c2sDUUH0TZ7oKuwgkgxYDuTiqyVvAp5ZaQedIaI8okrcmz/by6SzcZJ+Wxi 87gH+GBBJC+xn1+9KSCcSyejfpi0kmmL52QtpShqmLIEzfsQz5Iqx8P8K+wIa6aZpTHY eSWJPvlqFmpKFhKXS7WdNMnJPGtRk9FItETpnW/y+5cniPYTtWnGpCNht1B6PylT9Pqs xrUP0Cij52LuLmg9z9h105DoAzFt1l0MWu6VKnNxu38m2Hmz3yAqCGCkR+7hW2/sjzg8 9BpZMgdWHLcEOiwbly8Kbg8Nnzez+TJpUWncCCRbh3F6YCGWZ3oMmyt9ZGf8/+Kinutv oSjw== X-Gm-Message-State: AOJu0YxJt7xz5w2wdDq5gO27CeBazaUeAm+VEkLKNry0kw4r2lv5+gIY ntuguUNoW5lrAhn/VhucT3h+QxZV7rl9 X-Google-Smtp-Source: AGHT+IFVQJ/rmIGeQNoKkkKpAugRtmgnX9tZ+jNylIGNTuhY5/8aroNIOiM/mRV+TG9ICzlWJvJ2+NMEzLcQ X-Received: from irogers.svl.corp.google.com ([2620:15c:2a3:200:ac4a:9b94:7158:3f4e]) (user=irogers job=sendgmr) by 2002:a25:bec9:0:b0:d9a:5349:4bdd with SMTP id k9-20020a25bec9000000b00d9a53494bddmr423ybm.8.1696876777869; Mon, 09 Oct 2023 11:39:37 -0700 (PDT) Date: Mon, 9 Oct 2023 11:39:06 -0700 In-Reply-To: <20231009183920.200859-1-irogers@google.com> Message-Id: <20231009183920.200859-6-irogers@google.com> Mime-Version: 1.0 References: <20231009183920.200859-1-irogers@google.com> X-Mailer: git-send-email 2.42.0.609.gbb76f46606-goog Subject: [PATCH v3 04/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 , Yang Jihong , Huacai Chen , Ming Wang , Kan Liang , Ravi Bangoria , 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 Acked-by: Namhyung Kim --- 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 Fri Jan 2 17:31:31 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 CA1F6CD611D for ; Mon, 9 Oct 2023 18:39:57 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1378313AbjJISj4 (ORCPT ); Mon, 9 Oct 2023 14:39:56 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45998 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1378233AbjJISjn (ORCPT ); Mon, 9 Oct 2023 14:39:43 -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 7855FE9 for ; Mon, 9 Oct 2023 11:39:41 -0700 (PDT) Received: by mail-yb1-xb49.google.com with SMTP id 3f1490d57ef6-d9a45e7e0f9so427375276.0 for ; Mon, 09 Oct 2023 11:39:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1696876780; x=1697481580; 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=qmHE39qmWSQLTvMKSb2BXWkZwWApobrmAKmtm7mq0rdAfERykcCz8xuEv/bWuEJrqR tnmKKm+FW/8n87xQW6j46XHC1I69IvsnbrRD+eq7avKDUZjaaLT5NPpL2+QH4kMMJGxF oLHBfuj8Ay9PG2bb1Xsvc5TFt1eA6gldWFNmCUu8A+Xmbb9HNYFwanXrIysLcHzqhQng xQghqyRJxKTcDczz03ooQZrEV0ZqSOoTmcEDLoIV6iQGziWpRLIGJechrq5dlMksBYPL iZL+Iogh3FbQHeZ/KNso2dBNHvlndvgG9Ia5W3q4vZXjUmeOI2uE+gvt5XMCvqQ65947 T9wA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696876780; x=1697481580; 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=h4q8ZBNlDZ/rfX1I9bjr2G6cuzsPi01ySZxGsAefV1qt1oBEhKZnR9jvy9ZEwGHeOh +YI4VBBUKiZhCpdcvoN9eaYcd0dDsX6/kqtxj9mXts1+2tpsuYDOXyvvZyciQWcd301F qEXnF5D1hhEUH4u/UeSbau7F8W+VDsZZLBkwm/LEnYdmrdIkZsDG+XSYkO55M0/recw5 8fpx/n+S9tEDFa03MVhEYdIJDmbtMaapFxe1aKPndcqXB+uobv7fhbwOQqGSzAUXJw6Q P9WhVDLyb2MP88/1XtilA/rXhpkkTCzMZlbSXQSq5g0/A4lIDVvgRIB5/kthyPU5WrSo a4Zg== X-Gm-Message-State: AOJu0YzbzYRycaIdUoQlEBBNGrc4uZ+ixDB7p9MfZF+c1s81ayjNKZIQ uqurHWMP8BlESivvYUEm3oAvAwBrj4JM X-Google-Smtp-Source: AGHT+IHSFLzIMOdZMLClCkJhOThmOClRy30ep3/ZFs+55TAb6kM08lo1dDdwBNKotykaeaR7pVv7k1gDXaCN X-Received: from irogers.svl.corp.google.com ([2620:15c:2a3:200:ac4a:9b94:7158:3f4e]) (user=irogers job=sendgmr) by 2002:a05:6902:181a:b0:d89:3ed5:6042 with SMTP id cf26-20020a056902181a00b00d893ed56042mr268371ybb.11.1696876780144; Mon, 09 Oct 2023 11:39:40 -0700 (PDT) Date: Mon, 9 Oct 2023 11:39:07 -0700 In-Reply-To: <20231009183920.200859-1-irogers@google.com> Message-Id: <20231009183920.200859-7-irogers@google.com> Mime-Version: 1.0 References: <20231009183920.200859-1-irogers@google.com> X-Mailer: git-send-email 2.42.0.609.gbb76f46606-goog Subject: [PATCH v3 05/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 , Yang Jihong , Huacai Chen , Ming Wang , Kan Liang , Ravi Bangoria , 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 Acked-by: Namhyung Kim --- 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 Fri Jan 2 17:31:31 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 90AE8CD611D for ; Mon, 9 Oct 2023 18:40:01 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1378314AbjJISkA (ORCPT ); Mon, 9 Oct 2023 14:40:00 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46018 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1378229AbjJISjs (ORCPT ); Mon, 9 Oct 2023 14:39:48 -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 7BAD7113 for ; Mon, 9 Oct 2023 11:39:43 -0700 (PDT) Received: by mail-yw1-x1149.google.com with SMTP id 00721157ae682-5a507eb61a6so73204577b3.1 for ; Mon, 09 Oct 2023 11:39:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1696876782; x=1697481582; 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=OFk3wZEKRbsVyMjM+9CyBIeNKC7CQOS4Q3CWIkEQeGHzOExrefIAwk74TnX0ULOJ7g gf2IuNSvlsl6dvg/i0SupHeYkkjvTdsN7bOvIrT3Z8mPfIqG5UwbhXnLDT9Qzb+ofA9o HyUTVuUVnDK32cxvmyg8rgr7yhi41QWGmryGHjD/04A3i5Ndq4WdtcKveOiTnf2Z/Ids fxdQrTkfCCthLonmrUPnKPeMCQ7gBZQeY8Orn3AIDZnPR/NZdyg+syaOlLsXOnLfPYyq 8iz4w7NCFe1pxo4AUhRpECmwBxRKhlL6r7B7HFXOLzS0b+sH04tgW4CxBktzn0hfnTYM FyeQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696876782; x=1697481582; 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=TfPAT+t2iRNfczKuKQoMhOK0cLp5W//Ls9dgrB/8jB2BNZ8xGaBnp0Yt+ZXf39qpkG tbAyH7O4dN95IbEraED25auW9yIFyyHwvea6UJy0rjnRdCrgJX81a/JDhiinF18Ll3a8 qxYNYTtQAxWFU237kyo43+zWR3epv+9Z4NAZ+GTzsl0sIv0ShOlykq4X1omvXB6qRimV Qg2x3pZfv7x3kPaSzWuaeuhXJGVeMcaSnIenLSbS21QuIMxtOyN22d8GFfelaksh/d+A nD7iDfMqhox5OIJNwRzvSTc4zS7Lt98655eVN705szTVt9mrEy/26iNhuNOrePD45MIZ jgCg== X-Gm-Message-State: AOJu0YxfvXR2YUemwTdX9tXSYEw6CiQK2ynVcGeFWD1SkGw2gOsKl1hs F3zmkwdofyxtkg7IsgwZEqEq6aDX+/PB X-Google-Smtp-Source: AGHT+IFF5Ce3xTASsAOk8I7voMtqVFZ/Fie+83QxW2GS/qJ0vRq1xrYlGTONWtgU9T98ME4DI6ky2PLg0Jc+ X-Received: from irogers.svl.corp.google.com ([2620:15c:2a3:200:ac4a:9b94:7158:3f4e]) (user=irogers job=sendgmr) by 2002:a81:bc03:0:b0:59b:c6bb:babb with SMTP id a3-20020a81bc03000000b0059bc6bbbabbmr297631ywi.6.1696876782479; Mon, 09 Oct 2023 11:39:42 -0700 (PDT) Date: Mon, 9 Oct 2023 11:39:08 -0700 In-Reply-To: <20231009183920.200859-1-irogers@google.com> Message-Id: <20231009183920.200859-8-irogers@google.com> Mime-Version: 1.0 References: <20231009183920.200859-1-irogers@google.com> X-Mailer: git-send-email 2.42.0.609.gbb76f46606-goog Subject: [PATCH v3 06/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 , Yang Jihong , Huacai Chen , Ming Wang , Kan Liang , Ravi Bangoria , 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 Acked-by: Namhyung Kim --- 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 Fri Jan 2 17:31:31 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 C4484CD611D for ; Mon, 9 Oct 2023 18:40:05 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1378266AbjJISkE (ORCPT ); Mon, 9 Oct 2023 14:40:04 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46010 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1378287AbjJISjv (ORCPT ); Mon, 9 Oct 2023 14:39:51 -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 BB8E5128 for ; Mon, 9 Oct 2023 11:39:45 -0700 (PDT) Received: by mail-yw1-x114a.google.com with SMTP id 00721157ae682-5a23fed55d7so77427437b3.2 for ; Mon, 09 Oct 2023 11:39:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1696876784; x=1697481584; 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=hdiUtupSykpW0XElbBBe/4kSZCj8u8m+VgHsIC9uBIpw2OeCQntgd2Or4zBdEbuTgf o8Fl8dvqTdKCPzb9QQ96OYyO2jocXYnCk7YsfGy8OWlPlSvLYmUYK7xngvymGis72dz6 6LRwWnfhjVkVcmisRxN8zyXC2n1o0GxOilWeOHGjM3s8STxdCs7zVv0B0q7vfWrX66Pd BRPIVRof0u2JM8YFLWlrPnXtKmI+k0r1Boai3dUA/VLl7sqiApH+sYQYeqTYFBH98LUy QSVrUuknZsdVaXQr1MgaowmkngG6z61yOUBTPU4j9wB9/3mw6Zg7DTl5AGhsgYFlyOEx Pdjg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696876784; x=1697481584; 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=XbBdDWZinalTdZvIzx+KmqGTYuwhesYxrNDYmxLLqqNblOpxZ/njFvzDOBUqrtYV+L HsvcZPTAim2YjC+H6HYxb6Kn3E88woT/VWMueWzYieuv3PmLT91pNB9y3Erz0AYnKAvf RGP0BmD3rdRHdA2dPxux1IEZg3puybgpDQWTMhB8HdJQtdY02ojpEXzl0GRjP6/kQ61R G3fljxw74/fzxboPV610ke2/zvVvNz/aoOmklNVM5XpNb2+mv94eFVtASrHBJDrl0F2q iOQArFuB/c4AO7STFiDki2Hw7kPnead+ix7rn92XHZ4lF3Nm8iNDNIRdc3xB+YUpZDZS yHKw== X-Gm-Message-State: AOJu0YyqkUffi0Lpjoqel2nDLwmi7jmVtnjgpAYMkmx1nG2dvCcTTxMi B6S9tXecyZu9w9jTGC9JyE68onBExV/h X-Google-Smtp-Source: AGHT+IFoEQ7Dzv18PcmdjnpaSDsoWF/VAum2oAmj8wWzPzLIX73XPP1Ukf1ru5WFK6DwCtdvNWmpgT87L/bK X-Received: from irogers.svl.corp.google.com ([2620:15c:2a3:200:ac4a:9b94:7158:3f4e]) (user=irogers job=sendgmr) by 2002:a25:d12:0:b0:d9a:3bee:255c with SMTP id 18-20020a250d12000000b00d9a3bee255cmr25038ybn.7.1696876784641; Mon, 09 Oct 2023 11:39:44 -0700 (PDT) Date: Mon, 9 Oct 2023 11:39:09 -0700 In-Reply-To: <20231009183920.200859-1-irogers@google.com> Message-Id: <20231009183920.200859-9-irogers@google.com> Mime-Version: 1.0 References: <20231009183920.200859-1-irogers@google.com> X-Mailer: git-send-email 2.42.0.609.gbb76f46606-goog Subject: [PATCH v3 07/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 , Yang Jihong , Huacai Chen , Ming Wang , Kan Liang , Ravi Bangoria , 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 Acked-by: Namhyung Kim --- 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 Fri Jan 2 17:31:31 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 9DDFFCD611E for ; Mon, 9 Oct 2023 18:40:10 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1378372AbjJISkI (ORCPT ); Mon, 9 Oct 2023 14:40:08 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46046 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1378250AbjJISjw (ORCPT ); Mon, 9 Oct 2023 14:39:52 -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 00708FF for ; Mon, 9 Oct 2023 11:39:47 -0700 (PDT) Received: by mail-yw1-x114a.google.com with SMTP id 00721157ae682-5a21c283542so84080847b3.3 for ; Mon, 09 Oct 2023 11:39:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1696876787; x=1697481587; 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=HPZgNN8loVefaOMfnRHnLVQVv2af1+7RIMbdemt0ihqTnrd+eC09lwm75mFfpYfoK8 VuM7z5hvPEqcV4xKoabEexIrQXkuMOBoXOzdovVPUOYM7Co1+/FnIRdDj13p3os/Rw7s NI8p7mPr7mM5ZF4uZ1mpG8YUhvyXuFinhqEKXJ+MQu3lrzW6kz4bJP3lMkttN6Hqxorz mHe7KnritTalDR6fFTBGMfrTMXulwEzrUJ6mji+Y2of/4EV33s2AeShAbwxSMRJ+d02t dZitQgZz34BI/Fy+TBjVTcAzYr64CsOm6jp1TlVN3L0JNxAf97JGub/g2KK4QBxJEYCZ lAGg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696876787; x=1697481587; 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=c7LHh6c68UBcV7NEAQ6dnSg0xlbdU2sE56rJHH+sODekPGfjEUnm6sONX5YtI9flgl kP8SzQVAN4zk7HTYSuUukOE14Gyk33gQ2wReAODCPwDymV9H1G5/MZdKfOBt+a/JDDTV S3KzUfCT14Y5UXRs0lBzDqc5mdm08M15MW5MmCk8ouuz6ESu7cHS057ZUbNCJJA8r0O+ F1/upvSHAcCVz/WjiVrSQSqQ8uNqlZp5Djj9gpE7gjS6XNhW1bu93AT1grxRHi9nG9R+ m3LR8gNlmyOEA3+60Q/0oFqR7w9Rfvq2D4taK4XQSXHxiu8gwLcdravgAX+KEU3fJPLG ZzwQ== X-Gm-Message-State: AOJu0YwvTnfpYyENraTCuZoGUxCLZByTF/NVWcWBdI8C429371HLI+7q 5mTDylk7edg7uOeElFiYG2YF0h28nazi X-Google-Smtp-Source: AGHT+IGpysIorYdi8kbri+eoNngVpsBmCut1uHA899pI7BzlPq5MUUHT7YyMhz0NTaD8xsX1mPms8KyxGvsu X-Received: from irogers.svl.corp.google.com ([2620:15c:2a3:200:ac4a:9b94:7158:3f4e]) (user=irogers job=sendgmr) by 2002:a25:c243:0:b0:d89:4d2c:d846 with SMTP id s64-20020a25c243000000b00d894d2cd846mr246744ybf.12.1696876787012; Mon, 09 Oct 2023 11:39:47 -0700 (PDT) Date: Mon, 9 Oct 2023 11:39:10 -0700 In-Reply-To: <20231009183920.200859-1-irogers@google.com> Message-Id: <20231009183920.200859-10-irogers@google.com> Mime-Version: 1.0 References: <20231009183920.200859-1-irogers@google.com> X-Mailer: git-send-email 2.42.0.609.gbb76f46606-goog Subject: [PATCH v3 08/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 , Yang Jihong , Huacai Chen , Ming Wang , Kan Liang , Ravi Bangoria , 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 Acked-by: Namhyung Kim --- 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 Fri Jan 2 17:31:31 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 83CFECD611E for ; Mon, 9 Oct 2023 18:40:21 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1378424AbjJISkU (ORCPT ); Mon, 9 Oct 2023 14:40:20 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46764 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1378347AbjJISjz (ORCPT ); Mon, 9 Oct 2023 14:39:55 -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 5CA0E192 for ; Mon, 9 Oct 2023 11:39:50 -0700 (PDT) Received: by mail-yw1-x1149.google.com with SMTP id 00721157ae682-59c0dd156e5so81021157b3.3 for ; Mon, 09 Oct 2023 11:39:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1696876789; x=1697481589; 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=SRdA35YGOoLAZL9O7PKWBNf2JQLBzTaG1UsHWDN0YNJOyeWnXFklTqJ8LfGovInDPq S1OCCbjXHolGeHnjnsHfSXHjwWsWYKFaev8MFgJoOMqVdc7w5Eeoxrxg7RYFhnvHkjSk 4h2Qdn4hFlf38ZRwAxN6WIoUBZvxHGlnUMkD5TiJpTAbjDJinzlN+vp51u0Q8nom8aSy eGDGjaOQxExOs8pJrvIqbKaSc5GTt+PZtW9QWv3xdfAfsQywBsmHezeLcnZhmn8s8mSu CZyIYAWyiaGBDXGW+rjm+XBx5D6Vbf/Z5kCyVWWrjpYzQa0ZfhQQJmls6rbALsQGqB+x SaWQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696876789; x=1697481589; 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=MSn85qlKavJk/a9fEn/c+VIRDFiHrh/DxpN+N/qX8yK9bikTLoT2JYpTTr6oDGGoQk iB8ai+qAMOyY5R3Ymo7z9tKt3Av6zuRlU8FCyxnMyEDAJbAWGHcNOf/mNh4RyYx/VCTV DIhdQeCDS2B3UhGMQ2G+FHrKOUvTZXTJj0Fwp6fjtec68wFuWLA6QH7ME1r7vfjC8cGC YBKqGfa9IT6sK5nOx4EskmZM0NR9QL1/mMANi9F2EwtR01/pUo5+PSGueLUSurgPPjHF DkfSiQAhTJjsfsAbSAG85dYxVQyt2K1Gh7YZj/IP8QDlwHECJiJZzNH8ymKLpmDziJbu ejXA== X-Gm-Message-State: AOJu0Ywowt6QQYjzSU0Km1/72si3TBcXitqrU6R6vHe+1+jiAyAjQcDO dsgWjTAXOeXyFvmy95JqP85F9L0p19T0 X-Google-Smtp-Source: AGHT+IEx3Hxc/LpzCERzTEobvjg4svKw6js0XFbWqMEIgj61DG4507hSvRf9frx3x/Ew/SETU4UYqOBaGS51 X-Received: from irogers.svl.corp.google.com ([2620:15c:2a3:200:ac4a:9b94:7158:3f4e]) (user=irogers job=sendgmr) by 2002:a05:690c:70b:b0:565:9bee:22e0 with SMTP id bs11-20020a05690c070b00b005659bee22e0mr297980ywb.0.1696876789191; Mon, 09 Oct 2023 11:39:49 -0700 (PDT) Date: Mon, 9 Oct 2023 11:39:11 -0700 In-Reply-To: <20231009183920.200859-1-irogers@google.com> Message-Id: <20231009183920.200859-11-irogers@google.com> Mime-Version: 1.0 References: <20231009183920.200859-1-irogers@google.com> X-Mailer: git-send-email 2.42.0.609.gbb76f46606-goog Subject: [PATCH v3 09/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 , Yang Jihong , Huacai Chen , Ming Wang , Kan Liang , Ravi Bangoria , 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 Acked-by: Namhyung Kim --- 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 Fri Jan 2 17:31:31 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 29872CD611E for ; Mon, 9 Oct 2023 18:40:37 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1378106AbjJISkd (ORCPT ); Mon, 9 Oct 2023 14:40:33 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46856 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1378327AbjJISj6 (ORCPT ); Mon, 9 Oct 2023 14:39:58 -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 A7426D3 for ; Mon, 9 Oct 2023 11:39:52 -0700 (PDT) Received: by mail-yb1-xb4a.google.com with SMTP id 3f1490d57ef6-d81e9981ff4so6357503276.3 for ; Mon, 09 Oct 2023 11:39:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1696876791; x=1697481591; 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=MXbm260rnEHiPY2SYzvEO0hTE+cAPwD+GczDzsavIBFpHbm2YQEyW2nX/ki7WncJ10 iFEkSHmUcPRnLm2YslotbhED70wdwyqrIsq7GiH10NnheniS8sQGeVW3CIxWppTru+Gh 4m+6+yOVx3XkfNRGnmzyrtu5GVEf9HI19fwaDzcmYLwaEbLw3EEVbSr729cHApib/TwH Enr8jpEBhxZkFxQSsaieQ7ZdOYa0Ni2X2LuDX3dPNTaIRbxzu3b2aAPsWqhH6djUx3VQ 4+OFeOffjtGYRMCmJy+ZxB/ZMI0l5J5d5vureUVF+5XsiloLhO4Uji8FLnaNNDNdljcG Q9Kg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696876791; x=1697481591; 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=LeowC+yqAtMc4LVh0ug0VAWSnJHDzK/VPbS4c08nK12R+XmqqW7b1Mu84U8CmTrV1q GWhVkYlolOFps6JISZ5UUTQrIaIYnVZ8eJPmkSiDc4pCwcbKN1nEa+L+2ef0+lvcXQyt /Mz9Nbd9cVc5J/iFJJJ0qf2ti7kQ5EwzZzATJj5FaWUmErW3y3RyKUXsBTrfHzg+gFr9 0ZTW4Mx4hTZ+jW3fUwF9iTb8P1NKXpiq/wUBwjAYfNYuNYdqHZciLDxD6XnFbF0Z5T9O bQstApInLVTYumijcOTgma6epOJDSUC2anyllVs4n/mYd5GcmQKOmrhicGsZHAogwQnD YX4Q== X-Gm-Message-State: AOJu0Yx8x4p+wsi5kG6B4uSuQYYHf13ujk4xfcOmE4l37ZJw1fFOO1dn XJH5bm8ZX1MYJhrcPfZINxgHr57+3B/l X-Google-Smtp-Source: AGHT+IFJYyKzaVJZa6OL3+dH3Iw7A/PwN/dNbmHDZ9SeFI6LX4XiAP/rf39SS/umzU7lUH+6FV2vZLeRvyST X-Received: from irogers.svl.corp.google.com ([2620:15c:2a3:200:ac4a:9b94:7158:3f4e]) (user=irogers job=sendgmr) by 2002:a25:f816:0:b0:d84:e73f:6f8c with SMTP id u22-20020a25f816000000b00d84e73f6f8cmr234275ybd.6.1696876791493; Mon, 09 Oct 2023 11:39:51 -0700 (PDT) Date: Mon, 9 Oct 2023 11:39:12 -0700 In-Reply-To: <20231009183920.200859-1-irogers@google.com> Message-Id: <20231009183920.200859-12-irogers@google.com> Mime-Version: 1.0 References: <20231009183920.200859-1-irogers@google.com> X-Mailer: git-send-email 2.42.0.609.gbb76f46606-goog Subject: [PATCH v3 10/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 , Yang Jihong , Huacai Chen , Ming Wang , Kan Liang , Ravi Bangoria , 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 Acked-by: Namhyung Kim --- 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 Fri Jan 2 17:31:31 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 E3EF6CD611E for ; Mon, 9 Oct 2023 18:40:24 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1378190AbjJISkX (ORCPT ); Mon, 9 Oct 2023 14:40:23 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45516 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1378356AbjJISkC (ORCPT ); Mon, 9 Oct 2023 14:40:02 -0400 Received: from mail-pg1-x549.google.com (mail-pg1-x549.google.com [IPv6:2607:f8b0:4864:20::549]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BD85111B for ; Mon, 9 Oct 2023 11:39:54 -0700 (PDT) Received: by mail-pg1-x549.google.com with SMTP id 41be03b00d2f7-55afcc54d55so4380996a12.0 for ; Mon, 09 Oct 2023 11:39:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1696876794; x=1697481594; 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=nXL+qmAYa1mUdOquFhy+XA/PWm93Ug1IW4cRgHg+EqS00GRLOom2nBJGffgxekuDXV wbrE1PmxDKYLYPPiT8kuXB2rEVLLXt/DZxHCItIPQ4PNJOTKSpTEDUswFBtWZma1i0BY 7KYRrcsDRVikprlCDbpKoctnizhnSStoR7IoKOYjNZAjz6iKIN3z82prctEov4KWfVtO HADyYWdsJctr2SoudMqgxo9DL9CrlN97HTGEKFUfyuLjB5nCovyZ6PznLrZYcc61x+g0 5L9e+C2vBdTcD44dUiDnoTG7dryyPmQ2gXGapHoSTv5mqU4L8r0GuakCTvSjh/h0conU 4rZQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696876794; x=1697481594; 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=k90EyTIWk+ndupsDaSW6m/pBsckEGGqd3w3yBBqrH1wULCcPeEbOL4EF1okJvPKjZi CW+uUeZFZ5v7KD2j/R+eakKxkXjXA1cw/Basm79dOFLI5MHoU86d0a+ty/yxNL1Nn8TO hfD5BfGRPKtLe8R2BtGN8ub1QjUpiNNSb+NSNQO3hK9hAumGq0PFxNnvuqG3ms5oKV8k PHgp1hMPfvn+Z2iWOOxifaKcwqDW+7FUJX4m4y4CS7dX+WHUmaWeAv5/Iwt/Yfp5m9yA RKEi5d8Ss/aobo2FBHiSG71hW6+apqoy85L/xDuU5MPZhBrJNczzXzLn0NNwie1AJvF9 wTxw== X-Gm-Message-State: AOJu0Yw297KTjMd7A7zLwvL1oLh0ZGqd2D3PgtWRh/O9vOR0SiEaL5gh 0pJLZ/uuiJXFUn8CpYALPyHx+fYBRP4l X-Google-Smtp-Source: AGHT+IGswY8IBRO4qisurfCsmW1G2owhcv59h934/6N9kUBhkSh8az8mizPfb84iHYV8EZ8p3euRKpw5IRrs X-Received: from irogers.svl.corp.google.com ([2620:15c:2a3:200:ac4a:9b94:7158:3f4e]) (user=irogers job=sendgmr) by 2002:a17:90a:bc48:b0:277:d8:abd9 with SMTP id t8-20020a17090abc4800b0027700d8abd9mr318272pjv.0.1696876794049; Mon, 09 Oct 2023 11:39:54 -0700 (PDT) Date: Mon, 9 Oct 2023 11:39:13 -0700 In-Reply-To: <20231009183920.200859-1-irogers@google.com> Message-Id: <20231009183920.200859-13-irogers@google.com> Mime-Version: 1.0 References: <20231009183920.200859-1-irogers@google.com> X-Mailer: git-send-email 2.42.0.609.gbb76f46606-goog Subject: [PATCH v3 11/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 , Yang Jihong , Huacai Chen , Ming Wang , Kan Liang , Ravi Bangoria , 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 Acked-by: Namhyung Kim --- 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 Fri Jan 2 17:31:31 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 3BA2CCD611E for ; Mon, 9 Oct 2023 18:40:30 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1378320AbjJISk2 (ORCPT ); Mon, 9 Oct 2023 14:40:28 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46100 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1378294AbjJISkQ (ORCPT ); Mon, 9 Oct 2023 14:40:16 -0400 Received: from mail-oo1-xc4a.google.com (mail-oo1-xc4a.google.com [IPv6:2607:f8b0:4864:20::c4a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id ED25312C for ; Mon, 9 Oct 2023 11:39:57 -0700 (PDT) Received: by mail-oo1-xc4a.google.com with SMTP id 006d021491bc7-57be2b0e95cso6575072eaf.1 for ; Mon, 09 Oct 2023 11:39:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1696876797; x=1697481597; 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=49ZawQt+7SlBsoWKownV7zVOA634acLMIh7oRlSswNg=; b=dK8xBnOoIO9PY75AnOE4rIYgmL4p62wsbAdA7DfZFtY6H+eeCIfzfIyLtFSxZIgtTE fTYV70F1erQqiuylGJWheixlo8jAsHDTaaZz3ekJzfxnLhpbM438SCkyiwNrRpZYl+En BaZ+kYT1gip/D41srBrzQBjcQUx7wGqRxtPuXXKF5RKFeChmf/6wd2+JoL4TrVEgLLwm Wo0U08kEkCjWGbUXkkofAYrZKvJMNg5wUCosR+f4vHDDkXsqNhEH5PTvDiBhI2w3PZbY E/yZgTJVuHjnlVUgFb5g49pVkctTzfFk+eB7J2PYExNF52p4Ll2VA6pdBrjjaOFODJVO hKXA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696876797; x=1697481597; 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=49ZawQt+7SlBsoWKownV7zVOA634acLMIh7oRlSswNg=; b=oqviIRpSUdGMlab6RVU4v/+upMZOlPawIjnJulrAUvDD5SIV7HNKfhIaFKaJ8KSFw2 ZsrHR6xcWuHTf1wpLG2nIig9dcdGVb4j3CpVHMyjZQncHRelY82x0CU4xFow45UHS9tM QLMjGdvA3Z7V5paZoC1yq1s5euFQxr6Gq83qInqRsikSz285mMirj2Wo0a4C3bVq8L6y 00mdXfXp9VRPev9FdNqWXKjt6fNowZ1GE/5TngEJFFJsAMGhaNzR/ENXiCCxc0CyrPUL Zdg3QjEWL6kdyfjkYH4SwG6mAkNBSeyG5DOlfaql0e+HVoY9PP/yGXyaIyjJt0VTV6nX sgQg== X-Gm-Message-State: AOJu0Yy5H8BhdVMAHCUK0tnTU37Z+yvH9f7jChcBEiJpU/SwKYZoXhUU o3lOe/MbyijxZSRTelOguCogRMXlNfnx X-Google-Smtp-Source: AGHT+IEQO/YSLvuW5lkkNTKqekhHTTuwM6kivSrFg1QMVwNQ4jbE84siI8dfYQbP2HOz0jg1yFaPHkpxB9tv X-Received: from irogers.svl.corp.google.com ([2620:15c:2a3:200:ac4a:9b94:7158:3f4e]) (user=irogers job=sendgmr) by 2002:a05:6820:100d:b0:57f:10cb:516b with SMTP id v13-20020a056820100d00b0057f10cb516bmr3087810oor.0.1696876797162; Mon, 09 Oct 2023 11:39:57 -0700 (PDT) Date: Mon, 9 Oct 2023 11:39:14 -0700 In-Reply-To: <20231009183920.200859-1-irogers@google.com> Message-Id: <20231009183920.200859-14-irogers@google.com> Mime-Version: 1.0 References: <20231009183920.200859-1-irogers@google.com> X-Mailer: git-send-email 2.42.0.609.gbb76f46606-goog Subject: [PATCH v3 12/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 , Yang Jihong , Huacai Chen , Ming Wang , Kan Liang , Ravi Bangoria , 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 Acked-by: Namhyung Kim --- tools/perf/util/svghelper.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) 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 Fri Jan 2 17:31:31 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 C2E0BCD611E for ; Mon, 9 Oct 2023 18:40:50 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1378316AbjJISks (ORCPT ); Mon, 9 Oct 2023 14:40:48 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46012 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1378311AbjJISkS (ORCPT ); Mon, 9 Oct 2023 14:40:18 -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 70F44E4 for ; Mon, 9 Oct 2023 11:40:00 -0700 (PDT) Received: by mail-yw1-x114a.google.com with SMTP id 00721157ae682-5a23fed55d7so77429577b3.2 for ; Mon, 09 Oct 2023 11:40:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1696876799; x=1697481599; 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=niI1DS8q+ZbexmAiDdLr0rnTr4377R73icOoozlTydQ=; b=rXsOoCOi9IoLNymI/T09YYIpQk2fwalh+/sjgLoOz68oak642mvan2IHzdQ4lFkG9C qTDkmTDdRFdiOi/tIuqRosf8PTUh4R/3RDUMvBsPVFwqKrcElx4eB4/KGcZ4ugGHhR4q 6+UdrZ7knDyTRPrVQY5TysvxoGbDYKxYPyGtKLW7srpiDu8nTMdEH2p+ZHfgSkxck40k Q7QhWMoWIg1JlRT1FdvDOtxBJGgPOstnjpNtOD2cTbk8vRRZNFCw/x88Anev4FS7hmnI URIV8lpxbzse82ysu662VNHxzQnipW52Xfr2GyeANJmk93kdWXZjdBrMuq2jb91uxRjd g8Xg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696876799; x=1697481599; 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=niI1DS8q+ZbexmAiDdLr0rnTr4377R73icOoozlTydQ=; b=WS8EAWMctc51mKpgf35EOhFlSNo4hIKOlEf02bZGibUi//ak+BMnqOoav3t8Og3N5H 4JGjMAwQDNDzdRTPyp9I6SyBwJDkE8FGvRwaeaOtWJDpmajh0p7QcUrkpOAKa7c+tdXR 83xkZ8eFb9/YffyPglA45OGyts7tDx+AjGWgeudKGo9TTZx3f3c9F+klSPqx5ppZ0gwi 2AJgV6XnSBBNAkpcb4F9ZLhVStkkAw1+xxEJyPhHjwXOHI+M0B9awrHgBi5vXfkwQhGK SS02XG34gSu5xQ0kJHgRalXEdG6GvHDo5UPQlGpGZFKhxvXC+jLNSVuREnqzd5SirD/N VCVw== X-Gm-Message-State: AOJu0YxF2hauZn6trJQBv2ZWpK7d1zkS5oVyNFGkdTBCsOfOWDHJAk11 74SSVM+U+wMkzHFImACgOclGFZRi+A6z X-Google-Smtp-Source: AGHT+IHVauHFJJ6dURYCURIsUyMaH8uHK9E3Vkz92KCp4HMULUMevSk/Te5SUgiu4nvqqGfnHApJa8igvKfI X-Received: from irogers.svl.corp.google.com ([2620:15c:2a3:200:ac4a:9b94:7158:3f4e]) (user=irogers job=sendgmr) by 2002:a25:bcd:0:b0:d7f:2cb6:7d8c with SMTP id 196-20020a250bcd000000b00d7f2cb67d8cmr247211ybl.13.1696876799415; Mon, 09 Oct 2023 11:39:59 -0700 (PDT) Date: Mon, 9 Oct 2023 11:39:15 -0700 In-Reply-To: <20231009183920.200859-1-irogers@google.com> Message-Id: <20231009183920.200859-15-irogers@google.com> Mime-Version: 1.0 References: <20231009183920.200859-1-irogers@google.com> X-Mailer: git-send-email 2.42.0.609.gbb76f46606-goog Subject: [PATCH v3 13/18] perf lock: Fix a memory leak on an error path 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 , Yang Jihong , Huacai Chen , Ming Wang , Kan Liang , Ravi Bangoria , 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 a memory allocation fails then the strdup-ed string needs freeing. Detected by clang-tidy. Signed-off-by: Ian Rogers Acked-by: Namhyung Kim --- tools/perf/builtin-lock.c | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/perf/builtin-lock.c b/tools/perf/builtin-lock.c index fa7419978353..a3ff2f4edbaa 100644 --- a/tools/perf/builtin-lock.c +++ b/tools/perf/builtin-lock.c @@ -2478,6 +2478,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 --=20 2.42.0.609.gbb76f46606-goog From nobody Fri Jan 2 17:31:31 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 8E80FCD611D for ; Mon, 9 Oct 2023 18:40:53 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1378219AbjJISkw (ORCPT ); Mon, 9 Oct 2023 14:40:52 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45480 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1378420AbjJISkT (ORCPT ); Mon, 9 Oct 2023 14:40:19 -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 83E56D4E for ; Mon, 9 Oct 2023 11:40:02 -0700 (PDT) Received: by mail-yw1-x114a.google.com with SMTP id 00721157ae682-59f8188b718so77598497b3.1 for ; Mon, 09 Oct 2023 11:40:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1696876801; x=1697481601; 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=06hv2eld/xw44RWn1xr2U+JITsXhvfwVgHKkxYlHPQ2wasN7Ofou0pUc3CoXr40ImG qNR2LlZ8MvLg6cNPhr9P2c7dmwXgQmo9Nnfc1/DUy85azjOubC+p31Q14GZ0G9/Vtg+Z oPc8KxwtQcwOMXO6VFfVwWcDpeHCbd/2jOTjXg4xDBWzuMNHHXT4X09J9e3vpQlqh5MV gawWuoboJtTEerxO9qEZqgXvGwMXiZG6mxTFVkgdreC+sNzfqDhtevV1bD3L+k2gV1D7 hyx4Ztm9+4LmZC7Ccs/auboXubItxm4aE+XkD0rkoHIcBeuLWs6ngFRxTVMMtRxuSmPh cQCw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696876801; x=1697481601; 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=mIQeR7oxQ7DcshkmECyEOAc/WmMfiIkU3rYKSO6l1RqctdDHSCu15oeKgDWE2iYYng OjjddXHA2ns+XLFFU+XSo8bqr9XU1A2kNRgeohL8quY8TlyqRJC1ekqp/lMPESWfCJE7 FVODv0aJUDfXwiDvmsEjGTl9KTCm+jfYmpWQjUQOgL3NuJmTiQDYP3br7JPWV0oaIcR8 VHZuIgPJ48h5r1kNUGrA4ZVNCNUctRHJqt5L++FKrNu34kmAdQeIvyAZZGq+pAhAEBKW Dw5ddRlpKpXJMz3TA87Q+Ws1z3zpFgXfTBAKv5JrpTCzQGhKPJTmlkc0b///POuNhuni g0cA== X-Gm-Message-State: AOJu0YztZ8iBr2cnzSVFSoJRz+7ydOgrEC/GSn+t0N3UDAecEZf3AUuv O46ZPHhzXv4drwtursQd49QZogzYredv X-Google-Smtp-Source: AGHT+IHv/D+bxgRzhvH5SJtdaUWM0vtK5Kcw+aA2tiW8Y4QaDfmm5vLlI9ULokvCKbvDQyU/3LpdJsz6h2n6 X-Received: from irogers.svl.corp.google.com ([2620:15c:2a3:200:ac4a:9b94:7158:3f4e]) (user=irogers job=sendgmr) by 2002:a81:a849:0:b0:577:619e:d3c9 with SMTP id f70-20020a81a849000000b00577619ed3c9mr336831ywh.10.1696876801567; Mon, 09 Oct 2023 11:40:01 -0700 (PDT) Date: Mon, 9 Oct 2023 11:39:16 -0700 In-Reply-To: <20231009183920.200859-1-irogers@google.com> Message-Id: <20231009183920.200859-16-irogers@google.com> Mime-Version: 1.0 References: <20231009183920.200859-1-irogers@google.com> X-Mailer: git-send-email 2.42.0.609.gbb76f46606-goog Subject: [PATCH v3 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 , Yang Jihong , Huacai Chen , Ming Wang , Kan Liang , Ravi Bangoria , 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 Acked-by: Namhyung Kim --- 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 Fri Jan 2 17:31:31 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 CF926CD611D for ; Mon, 9 Oct 2023 18:40:57 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1378317AbjJISk5 (ORCPT ); Mon, 9 Oct 2023 14:40:57 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46014 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1378336AbjJISkV (ORCPT ); Mon, 9 Oct 2023 14:40:21 -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 21965D68 for ; Mon, 9 Oct 2023 11:40:05 -0700 (PDT) Received: by mail-yb1-xb49.google.com with SMTP id 3f1490d57ef6-d9a528c2c8bso40555276.1 for ; Mon, 09 Oct 2023 11:40:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1696876804; x=1697481604; 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=RMvnKqDB/mjYDkfacXxiTR+Rw/13XcLoTBlVP4B9oNuwIR2cYbmI2ne56PbG0IMdvH Qku7WW5VExHXN5VbMd7kEDJgwPFaADs+48N1rgxbrhy4UVxn59V/m+xRl8Q1ACyy+ld6 g/6hDK5HvTa6kcw4i768EL0ONXdRAhajquXngY60hq9U9wa8ibQ3xj7FEY4o5yvuYBHd 9JTEHdK0adN4K1QVPrTtbq3GtevCqZW0x7MVJkWdOajuXOE/1CoobjrGFw5vJCjGQfYT 5v4Ymogh5w9Q3gQ7j4nQw3h5Yh3sqB3H8woDJQBxMQ/GX+reFiy/dw5ys72be3UUiS07 N3gA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696876804; x=1697481604; 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=YhQKoRB4jTF8BY+E/A+FHxz2pJh/TTzdsVVAMsnlUlIRZR8H5QGyy2twRWLkwWhMid PR2SnUDFlFR1bXxRQE9RhsAZVXIDdF+U71Brei8TvtLbFF7x0SV1hiWJn2JnSIHOJ28S OVWQwa0UNuRvZfy4leRt1NjypmmpNsgAewW9beBermaM/DB81Tv8Xm0oHayZq1lBCfuw W812837LlDImep/nYqavfMBvGkmC3fQskWnCXzrIsv/GC1fSksyu/vk6Xiaw9LfAb/MH oWYH3iGrGg5kQDJFem5r0oK0mgNjY5SdEs3iQFMOg6gCXimXTXGuGHbyRikwnLjlcEm4 pvAQ== X-Gm-Message-State: AOJu0Yy4ECVKEtlwRQ/SfrbT2bLBMp0YZ7Q7Q9ShUdA6bShfJiHpU7Dj yF8miEGv5zYpVH1l4JnUAboZi2T8FDtK X-Google-Smtp-Source: AGHT+IHj2trO5X4U/SUmxlgPq73m36ZDVXtEdZOb0YxcbPMhp9sufjSs2X3h92EpXqMkEkqGWjW3ZR1z54If X-Received: from irogers.svl.corp.google.com ([2620:15c:2a3:200:ac4a:9b94:7158:3f4e]) (user=irogers job=sendgmr) by 2002:a25:ace5:0:b0:d81:90b6:cedc with SMTP id x37-20020a25ace5000000b00d8190b6cedcmr248454ybd.3.1696876804016; Mon, 09 Oct 2023 11:40:04 -0700 (PDT) Date: Mon, 9 Oct 2023 11:39:17 -0700 In-Reply-To: <20231009183920.200859-1-irogers@google.com> Message-Id: <20231009183920.200859-17-irogers@google.com> Mime-Version: 1.0 References: <20231009183920.200859-1-irogers@google.com> X-Mailer: git-send-email 2.42.0.609.gbb76f46606-goog Subject: [PATCH v3 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 , Yang Jihong , Huacai Chen , Ming Wang , Kan Liang , Ravi Bangoria , 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 Acked-by: Namhyung Kim --- 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 Fri Jan 2 17:31:31 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 D4341CD611F for ; Mon, 9 Oct 2023 18:41:02 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1378418AbjJISlB (ORCPT ); Mon, 9 Oct 2023 14:41:01 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57150 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1378343AbjJISkY (ORCPT ); Mon, 9 Oct 2023 14:40:24 -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 0B311D73 for ; Mon, 9 Oct 2023 11:40:06 -0700 (PDT) Received: by mail-yw1-x1149.google.com with SMTP id 00721157ae682-59c0dd156e5so81024937b3.3 for ; Mon, 09 Oct 2023 11:40:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1696876806; x=1697481606; 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=Zzs8LgYxJ9L34/UUsH7V6H7bLUTX23gvXUy7Mis7bsgEZ1NHQFm7Xqx5y1ColHjZmU C5XoV/I7JmmKjC8RHUgdjBJF4jz11xylRZuMCUxRrIjLk0aM9jQp0mu5lZuoxzGwfMUH CTkWcQDEyc4/7GTBB/xlNduPGC5VzbIfZKILSA1Co9c6Vlb2bczlCQ5sDNgX4Xrp6jed xssAASOpyGbH4IkmXmfMNO6xc7upBOnVq4T/GwgWkDa6Vs1G8eDLpdcFq2qkiB0D6ip+ yKNhbpiGaK6J5rBJnhLOihTl/TUyZuzmHj5j1BbDJVf0pcQ5uszG9XaTkEmMqUDv/aZ8 bJSw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696876806; x=1697481606; 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=lBhJekOucsMCM8FDPs8K0RJFbbYDdiNLiSO58UkB1F8hP8kAPHDW0ndZ0tA5tXsjS1 M6OanwSV1zY1ln5s/EYWuNtkkz4BSeIfbKtwWrouJRO4+586fn1UJ6N85IyJxMrWGnNR xj7Wh+Xy39ZQ3NZBDERR+ZgT1O1ET26uYbqSB786dBZTHOfNj00S94oyixCxEVoFFRGf hqN594h6qef/rtwuLvQmwpR2cZhnlIsNJXanphAHqfKJH+52inb60kJb5/iIyuy+1e89 wAV+1ZoMzjKGFdYZQiXdjTfdbjqyvkU4c7nrbN1KquzUajYWuQY/mU6ZQ864bSQ8TO4R ngFg== X-Gm-Message-State: AOJu0YzLusUhFcn/Jeoyv/mjBilcFwzAelnwIPX9Ds/vRfOoIqjEQZ7q KsUqI4Uu/os+SNCDucWwhRh1bNg+7wUF X-Google-Smtp-Source: AGHT+IFMZAJGeAEJwTa3L5Oxs6LsX8RfIY0fXdSBO9/RQSc7uGeMWt0HmEUSALq3ek1DTJsNNu1coZWFWJ50 X-Received: from irogers.svl.corp.google.com ([2620:15c:2a3:200:ac4a:9b94:7158:3f4e]) (user=irogers job=sendgmr) by 2002:a81:4c4b:0:b0:5a7:b496:5983 with SMTP id z72-20020a814c4b000000b005a7b4965983mr17187ywa.9.1696876806075; Mon, 09 Oct 2023 11:40:06 -0700 (PDT) Date: Mon, 9 Oct 2023 11:39:18 -0700 In-Reply-To: <20231009183920.200859-1-irogers@google.com> Message-Id: <20231009183920.200859-18-irogers@google.com> Mime-Version: 1.0 References: <20231009183920.200859-1-irogers@google.com> X-Mailer: git-send-email 2.42.0.609.gbb76f46606-goog Subject: [PATCH v3 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 , Yang Jihong , Huacai Chen , Ming Wang , Kan Liang , Ravi Bangoria , 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 Acked-by: Namhyung Kim --- 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 Fri Jan 2 17:31:31 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 0F25BCD611D for ; Mon, 9 Oct 2023 18:41:08 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1378061AbjJISlF (ORCPT ); Mon, 9 Oct 2023 14:41:05 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45922 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1378299AbjJISk0 (ORCPT ); Mon, 9 Oct 2023 14:40:26 -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 3E35210C2 for ; Mon, 9 Oct 2023 11:40:09 -0700 (PDT) Received: by mail-yw1-x1149.google.com with SMTP id 00721157ae682-59e8ebc0376so72644617b3.2 for ; Mon, 09 Oct 2023 11:40:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1696876808; x=1697481608; 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=2w50121eaJxmD5xi4lyi9EP2qbUj9KHP7ryysYJjsrs=; b=LvSI3xcv1Pv0J5NIglp/ZC6IwgLyvnx/moBjo7CLmpirHKURidYO8kyPX5ATJN+/9X FIvOxsRuvv331fUYCkfSf+k+oJcwCp/Y92K03TvqsygFXs7jI2ydoWAdxNYCP94Ebs6b jFscQG+mTRb3r+0fKFzrQ7x9jTCfWJy67/vbyM7E/QXB+mQSWdElZeZ/N5s8417l03+I Xt9s4i6tC/21Q/EGV5aTbgVJQyIEJ0a5H5L2MehRSrkg3BkqVTaNCrymHd58jMnHRbEp J64iJyeYt6xjztb2imDCE5Ywax97cgxpyai4P3zAKIbLOmwBr0IHVQRJ7OJwqWdRAU+P ui+w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696876808; x=1697481608; 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=2w50121eaJxmD5xi4lyi9EP2qbUj9KHP7ryysYJjsrs=; b=QMx2JfS2xKIXF0fQn5GPROZEW7Rx+YrKJNkvM++htTSFRKfjiAHGYNKecxYgEMmySP cVazaAwc3yO8rs5oSK2NQhFT3kkv5kgJ5ULrPSuK873hoHWPIICtXfh7cw/1JjOc3uZs QKkxw0Si08aIidkNt/+Ui5kfHJJdiKid4nCSsU+k7oQg50hQZahX78VSVEx1hloXLeOk 2ryQ1Z+LAOch8frDnRhLUozN925Rny2/dyW84jMgMBZVYboNWNLG4OUZzmmkM6y/RLcs Sz0MEe1G4KYN/HIV7Or98BzU+mhrh4FwYRCDdzDt3ZcqJuzx7c0nG+am+fyDrDY/loDH CMBw== X-Gm-Message-State: AOJu0Ywg3s88oE2/41NuOCDiP/ii08KTf+4t4MDjAA03pETuaimp/iEM +ZlAH+Dl7k7mveXYML6+ZVOH3TTlEU1V X-Google-Smtp-Source: AGHT+IGiCnrYwl2bz9V5BPunBrn18TVaUdmOO32yw1ylQCOt1vaQvnidceAE50bXIJfV7pObT3lh6Dqz9yAl X-Received: from irogers.svl.corp.google.com ([2620:15c:2a3:200:ac4a:9b94:7158:3f4e]) (user=irogers job=sendgmr) by 2002:a81:bc0d:0:b0:58c:b45f:3e94 with SMTP id a13-20020a81bc0d000000b0058cb45f3e94mr290065ywi.8.1696876808338; Mon, 09 Oct 2023 11:40:08 -0700 (PDT) Date: Mon, 9 Oct 2023 11:39:19 -0700 In-Reply-To: <20231009183920.200859-1-irogers@google.com> Message-Id: <20231009183920.200859-19-irogers@google.com> Mime-Version: 1.0 References: <20231009183920.200859-1-irogers@google.com> X-Mailer: git-send-email 2.42.0.609.gbb76f46606-goog Subject: [PATCH v3 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 , Yang Jihong , Huacai Chen , Ming Wang , Kan Liang , Ravi Bangoria , 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 Acked-by: Namhyung Kim --- tools/perf/util/header.c | 60 +++++++++++++++++++++++----------------- 1 file changed, 34 insertions(+), 26 deletions(-) diff --git a/tools/perf/util/header.c b/tools/perf/util/header.c index d812e1e371a7..e86b9439ffee 100644 --- a/tools/perf/util/header.c +++ b/tools/perf/util/header.c @@ -2573,7 +2573,7 @@ static int process_cmdline(struct feat_fd *ff, void *= data __maybe_unused) static int process_cpu_topology(struct feat_fd *ff, void *data __maybe_unu= sed) { u32 nr, i; - char *str; + char *str =3D NULL; struct strbuf sb; int cpu_nr =3D ff->ph->env.nr_cpus_avail; u64 size =3D 0; @@ -2601,7 +2601,7 @@ static int process_cpu_topology(struct feat_fd *ff, v= oid *data __maybe_unused) if (strbuf_add(&sb, str, strlen(str) + 1) < 0) goto error; size +=3D string_size(str); - free(str); + zfree(&str); } ph->env.sibling_cores =3D strbuf_detach(&sb, NULL); =20 @@ -2620,7 +2620,7 @@ static int process_cpu_topology(struct feat_fd *ff, v= oid *data __maybe_unused) if (strbuf_add(&sb, str, strlen(str) + 1) < 0) goto error; size +=3D string_size(str); - free(str); + zfree(&str); } ph->env.sibling_threads =3D strbuf_detach(&sb, NULL); =20 @@ -2684,7 +2684,7 @@ static int process_cpu_topology(struct feat_fd *ff, v= oid *data __maybe_unused) if (strbuf_add(&sb, str, strlen(str) + 1) < 0) goto error; size +=3D string_size(str); - free(str); + zfree(&str); } ph->env.sibling_dies =3D strbuf_detach(&sb, NULL); =20 @@ -2699,6 +2699,7 @@ static int process_cpu_topology(struct feat_fd *ff, v= oid *data __maybe_unused) =20 error: strbuf_release(&sb); + zfree(&str); free_cpu: zfree(&ph->env.cpu); return -1; @@ -2736,10 +2737,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 +2913,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 +2926,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 +3588,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 +3624,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); /* TODO: added to silence clang-tidy. */ free(feat_sec); return err; } @@ -3630,11 +3632,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 +3647,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 +3660,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 +3673,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 +3699,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 +3710,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 +3735,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 Fri Jan 2 17:31:31 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 5FE95CD611E for ; Mon, 9 Oct 2023 18:41:13 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1378429AbjJISlL (ORCPT ); Mon, 9 Oct 2023 14:41:11 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45968 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1377218AbjJISkf (ORCPT ); Mon, 9 Oct 2023 14:40:35 -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 E1AB110D3 for ; Mon, 9 Oct 2023 11:40:11 -0700 (PDT) Received: by mail-yb1-xb49.google.com with SMTP id 3f1490d57ef6-d866d13c637so6318310276.3 for ; Mon, 09 Oct 2023 11:40:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1696876811; x=1697481611; 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=YsxlfECdt177X4UMflQL0j0/eiiJ163V49F/TKWFkTlFW+aY45ZLUbU8f6NDVQQigD BtRPIKXxexi76R+oVTm1GCgmpGzx9NSFdWZVepRouWnYHynBJuF78cTALiIizRVnr+Ug 7DFkxBdCvyLYUU6dzWqKmIrjj1k+Bj7M8v5yM7GLYQWHwV6LBCjZEKYGsV6hdXaTETYY 73ANscnYgCjASWj7H2Mpu5TlecYA/5dlHkVSVO57N1VHBI2ObMLd0xYloJy6U6+Dv642 Dg3ao67NHSRXvIcx6F+FW5mpUs9l6giCn1/D4ppTJh+jBkCv8ZEb5aaEJYWUejPZuVk0 o5yw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696876811; x=1697481611; 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=Yw2gBu65pvV5azTaDKL3vLoHeMFBzWA8Bnc1ly6LvJyQxc1DQLvWd1mtkHR6QX18+B qg9g9Jfm1Zqz/8lt0GKwToW6V3cNWJvcdM/ffr6lKRQQQs7RDf9P7gsk3GVlHlOo0CGo nt5GcUmGmiL1D4reYXz1/3b0Ns9Xq9YeQS11z8WuvRN2Kodf+lauU887lnTJgtzTV9fn o+pGqH9hPKTySR8FqhcQwEyfVfJ403ZX27yPtvjXEvviN+KgyCHE4Xr3swHbs/B2yMPH BlVirmIujq7KhsL/qm0Ps3E9zpP9EtfB/a7GI32T+EopMavrqE1rgDJF2boNkwy0j6q/ /FPw== X-Gm-Message-State: AOJu0YwKGr5uk5ZUaC2z+F3pJxA6VJMlU6ifOYxgSBowIqUFTAvcnS9G +ViYRD1ieUUaSgBrwYQbDG4Aj1DjMLv5 X-Google-Smtp-Source: AGHT+IEgB0ixdKNlygdhv4h59H76SFd7CewMHkUz7uO+EUvepYTGPVZ0JlyDFpg5Eeb38pxoje/eR8ZZskOD X-Received: from irogers.svl.corp.google.com ([2620:15c:2a3:200:ac4a:9b94:7158:3f4e]) (user=irogers job=sendgmr) by 2002:a25:e74f:0:b0:d9a:43eb:4391 with SMTP id e76-20020a25e74f000000b00d9a43eb4391mr17704ybh.9.1696876810948; Mon, 09 Oct 2023 11:40:10 -0700 (PDT) Date: Mon, 9 Oct 2023 11:39:20 -0700 In-Reply-To: <20231009183920.200859-1-irogers@google.com> Message-Id: <20231009183920.200859-20-irogers@google.com> Mime-Version: 1.0 References: <20231009183920.200859-1-irogers@google.com> X-Mailer: git-send-email 2.42.0.609.gbb76f46606-goog Subject: [PATCH v3 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 , Yang Jihong , Huacai Chen , Ming Wang , Kan Liang , Ravi Bangoria , 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 Acked-by: Namhyung Kim --- 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