From nobody Fri Feb 13 14:08:25 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 6289BCE7A88 for ; Sat, 23 Sep 2023 05:35:48 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229836AbjIWFfv (ORCPT ); Sat, 23 Sep 2023 01:35:51 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50566 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229608AbjIWFfq (ORCPT ); Sat, 23 Sep 2023 01:35:46 -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 D4AB61A7 for ; Fri, 22 Sep 2023 22:35:39 -0700 (PDT) Received: by mail-yw1-x1149.google.com with SMTP id 00721157ae682-59e79a36097so105018267b3.0 for ; Fri, 22 Sep 2023 22:35:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1695447339; x=1696052139; 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=BGf8PiM0IiriMve24vBUlDxd/ZI4TAjoSgcit1w5zEk=; b=iC5lHGL7HASQPtSViakLGECJ4XhRQ8ewcJaAbS5zKRzlCABO3fqmMS3x7ZIWdcDVuF o2T23ncMGmaBR5wfmmKYVRTqXtHaf9+6MUjKaNsleoNR+DFXfizmkxys1fvdWRcpbk0t H6V8ku8IToq0tsZ39jqCQxxeCSujJu8sLaE3Q18Xk7CcBA6HaczAJzu+1w7ub0b9iBZN MMUsh2NhoAUdP+p9HWq6o9ugYpYG/Gw1ZwtUHZavk6/e+DJpVTVz38ctELel2uYjrq12 nhBkehEL+B8Vy8uA7HDaa8NAkHi6pZmxI9cE0IZxUOOqK2JtrvXOGw0BCFFNyebZee80 W2yg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1695447339; x=1696052139; 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=BGf8PiM0IiriMve24vBUlDxd/ZI4TAjoSgcit1w5zEk=; b=fZP9xtZI5BQMXLn1XnKIr0AfGNy+U+tQgyAIaF6lwA35YK3PFZoP2BucjZeM763WrH YPqUIDbDHP77+PlcoQHdOr5aDPe2z/dsb7tHi+tNZ4cwl3cLV95AWH+Qkau/19qK7JL4 k3TficUdZ/zGYOxJmYx0ALAhZKJ5fqWtVjiT+9Kx8zxIcaGd73xphbAEjJNU7mcaxaCW LjTe7AukWKYEudb+5GPrTKs4i2mQY4FLV8oo8GI6IQp4abRlEvEjfOqvS4UTKIfN+VKr 4MNqf4yNsv/A42UBZ/w4ycOvpq0Ulw3xTfpk2KlaNaG/prn8l4pO8suGH2on3tcHVxQv nCpA== X-Gm-Message-State: AOJu0YziocMq1cLMxebiJGcM/5yaX4xB/OGci3Tco2YVa5dCYtK3Dylz lEftCnTU7FkSZ+Jkxi1LbsH268bOZeRX X-Google-Smtp-Source: AGHT+IER3/Ekga4CWFfnCnjgBf21uB1xN+LlgPp7pbLhX4QChejR7/30xnfk3VwuhyKCQmfs43pumojGijGw X-Received: from irogers.svl.corp.google.com ([2620:15c:2a3:200:a376:2908:1c75:ff78]) (user=irogers job=sendgmr) by 2002:a05:690c:707:b0:59f:4c14:ac5e with SMTP id bs7-20020a05690c070700b0059f4c14ac5emr28292ywb.2.1695447338979; Fri, 22 Sep 2023 22:35:38 -0700 (PDT) Date: Fri, 22 Sep 2023 22:34:58 -0700 In-Reply-To: <20230923053515.535607-1-irogers@google.com> Message-Id: <20230923053515.535607-2-irogers@google.com> Mime-Version: 1.0 References: <20230923053515.535607-1-irogers@google.com> X-Mailer: git-send-email 2.42.0.515.g380fc7ccd1-goog Subject: [PATCH v1 01/18] gen_compile_commands: Allow the line prefix to still be cmd_ From: Ian Rogers To: Nathan Chancellor , Nick Desaulniers , Tom Rix , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Ian Rogers , Adrian Hunter , Yicong Yang , Jonathan Cameron , Yang Jihong , Kan Liang , Ming Wang , Huacai Chen , Sean Christopherson , K Prateek Nayak , Yanteng Si , Yuan Can , Ravi Bangoria , James Clark , Paolo Bonzini , llvm@lists.linux.dev, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, bpf@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Builds in tools still use the cmd_ prefix in .cmd files, so don't require the saved part. Name the groups in the line pattern match so that changing the regular expression is more robust and works with the addition of a new match group. Signed-off-by: Ian Rogers Reviewed-by: Nick Desaulniers --- scripts/clang-tools/gen_compile_commands.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/clang-tools/gen_compile_commands.py b/scripts/clang-to= ols/gen_compile_commands.py index a84cc5737c2c..b43f9149893c 100755 --- a/scripts/clang-tools/gen_compile_commands.py +++ b/scripts/clang-tools/gen_compile_commands.py @@ -19,7 +19,7 @@ _DEFAULT_OUTPUT =3D 'compile_commands.json' _DEFAULT_LOG_LEVEL =3D 'WARNING' =20 _FILENAME_PATTERN =3D r'^\..*\.cmd$' -_LINE_PATTERN =3D r'^savedcmd_[^ ]*\.o :=3D (.* )([^ ]*\.[cS]) *(;|$)' +_LINE_PATTERN =3D r'^(saved)?cmd_[^ ]*\.o :=3D (?P.* )(?P<= file_path>[^ ]*\.[cS]) *(;|$)' _VALID_LOG_LEVELS =3D ['DEBUG', 'INFO', 'WARNING', 'ERROR', 'CRITICAL'] # The tools/ directory adopts a different build system, and produces .cmd # files in a different format. Do not support it. @@ -213,8 +213,8 @@ def main(): result =3D line_matcher.match(f.readline()) if result: try: - entry =3D process_line(directory, result.group(1), - result.group(2)) + entry =3D process_line(directory, result.group('co= mmand_prefix'), + result.group('file_path')) compile_commands.append(entry) except ValueError as err: logging.info('Could not add line from %s: %s', --=20 2.42.0.515.g380fc7ccd1-goog From nobody Fri Feb 13 14:08:25 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 38DF7CE7A8C for ; Sat, 23 Sep 2023 05:35:57 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229978AbjIWFf4 (ORCPT ); Sat, 23 Sep 2023 01:35:56 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50580 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229561AbjIWFfs (ORCPT ); Sat, 23 Sep 2023 01:35:48 -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 23C9419E for ; Fri, 22 Sep 2023 22:35:42 -0700 (PDT) Received: by mail-yw1-x114a.google.com with SMTP id 00721157ae682-59eea906b40so54359047b3.0 for ; Fri, 22 Sep 2023 22:35:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1695447341; x=1696052141; 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=Sj6/NNUjZTKqDNZk1SrzqO39OG4waux/cevEfWDj9So=; b=wSpeEJoSnHeeMN/OFwKHmaYyMl0EnOFrXzlHb3EexqQjsrgk+ntB6zqLJVyy1P6y1t xUIo1eypAU0SCGR4oR3lV8pR+amWiDzQVtKOR2zXLhzK06beWvQWINcss6NmycJl9QLB EK00okbOTreMXq6AYeyTksE0I2Z+69ReD6+OInI56nzueVgl5LgYw32UjRIVLFoQwxk8 scCN9+En+dqVgu3sFy+8kFoLHmkS45hWZvic4XDzC43T0oFAE6rAIX8StsT+MEayVW9V Ka+uEUDci2p/Fcuyv5qF+KWugxNc4K9Q7k+5nc8wzoD/ra+UMQyxidwvT4OMXh0AUkYj I9mg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1695447341; x=1696052141; 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=Sj6/NNUjZTKqDNZk1SrzqO39OG4waux/cevEfWDj9So=; b=YR2norMGdTEjT9Qwbrj/b3nsblh6QT3P8Ax01pwFXwBBmyr96SQQCccyUvoX0DT7xy cxk6pCGIRbPI9JvY0v+qXtVXmu63B+EUo78gkvCP6A+YI+YHGyEhVgEg/l+eNDuUZowW o2sneQo/A4430a1FFk1fT1u0JKobJlmRg+lObCb7oGUYQdUukj3Kl0xblVKO0CZMyh+9 1HwRHsBPNHxOYR1+ULxwPvt/inrdTa3d39MvcoduiBqJdNxCP5hmUhS8rSWSfY3NtkHO W6Bof4VB3ALCXHB3CdQBiLCfLZ0IB/hb9DBJCfsiS/eBELt6csoNOLT6yY0gOGwOwfOX KN9w== X-Gm-Message-State: AOJu0YxDOKjYrqrCCwc0dde7BQJE65OZ3VTbt9uMVzstHMaixqLQPtLE 1R9/4DHjdcmCKtxLEbEj4OtNH9hfHbVN X-Google-Smtp-Source: AGHT+IHbSzioQSTamsrTSTL4Bee/g9Pe12Cn5Z+M9ExBNqmPozrvsrmeb06sIAWOJ+A4bl9QoEI2702248Yo X-Received: from irogers.svl.corp.google.com ([2620:15c:2a3:200:a376:2908:1c75:ff78]) (user=irogers job=sendgmr) by 2002:a81:eb0d:0:b0:59b:ec33:ec6d with SMTP id n13-20020a81eb0d000000b0059bec33ec6dmr21490ywm.5.1695447341257; Fri, 22 Sep 2023 22:35:41 -0700 (PDT) Date: Fri, 22 Sep 2023 22:34:59 -0700 In-Reply-To: <20230923053515.535607-1-irogers@google.com> Message-Id: <20230923053515.535607-3-irogers@google.com> Mime-Version: 1.0 References: <20230923053515.535607-1-irogers@google.com> X-Mailer: git-send-email 2.42.0.515.g380fc7ccd1-goog Subject: [PATCH v1 02/18] gen_compile_commands: Sort output compile commands by file name From: Ian Rogers To: Nathan Chancellor , Nick Desaulniers , Tom Rix , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Ian Rogers , Adrian Hunter , Yicong Yang , Jonathan Cameron , Yang Jihong , Kan Liang , Ming Wang , Huacai Chen , Sean Christopherson , K Prateek Nayak , Yanteng Si , Yuan Can , Ravi Bangoria , James Clark , Paolo Bonzini , llvm@lists.linux.dev, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, bpf@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Make the output more stable and deterministic. Signed-off-by: Ian Rogers Reviewed-by: Nick Desaulniers --- scripts/clang-tools/gen_compile_commands.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/clang-tools/gen_compile_commands.py b/scripts/clang-to= ols/gen_compile_commands.py index b43f9149893c..180952fb91c1 100755 --- a/scripts/clang-tools/gen_compile_commands.py +++ b/scripts/clang-tools/gen_compile_commands.py @@ -221,7 +221,7 @@ def main(): cmdfile, err) =20 with open(output, 'wt') as f: - json.dump(compile_commands, f, indent=3D2, sort_keys=3DTrue) + json.dump(sorted(compile_commands, key=3Dlambda x: x["file"]), f, = indent=3D2, sort_keys=3DTrue) =20 =20 if __name__ =3D=3D '__main__': --=20 2.42.0.515.g380fc7ccd1-goog From nobody Fri Feb 13 14:08:25 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 59929CE7A88 for ; Sat, 23 Sep 2023 05:35:57 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229888AbjIWFgA (ORCPT ); Sat, 23 Sep 2023 01:36:00 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59582 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229835AbjIWFfv (ORCPT ); Sat, 23 Sep 2023 01:35: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 7297B19E for ; Fri, 22 Sep 2023 22:35:44 -0700 (PDT) Received: by mail-yw1-x114a.google.com with SMTP id 00721157ae682-59bdac026f7so52935997b3.0 for ; Fri, 22 Sep 2023 22:35:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1695447343; x=1696052143; 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=YyfrmX8SYfxgP/g8BqVIBEEAppz8GcyEO0PbPfBBKMU=; b=Rrnxpz8b7CQsjl33ag4+KIJDZ44WsK45VgBlBkACcwOhC8koDh8HFTPvf+Al8zr1n0 ipW1YoTNcxaGp3fLiuwk1MM3ckTgb90ORM6RxfqPzP1E1I3O6rIoDbLePu1eZKdUfRUs OaHr8MJsI9MScYjIRhcyY+vAMug4j5cFbOo2DAybSkxGW5ssUJ2Nq0D+rUdNOQz3ZlZw VMe/6mFap9k9iaXYH3eOGliEyvPLfzApttNoyf4YQkmjmIcukK7zY1I5Cf2i1VJezi9T gTj/vXHuJaXStealOy/tjzxXsXO5kfNsR83xrA203sFS1B1BdRjkdmkhpHwXHOZw7erp J7Lw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1695447343; x=1696052143; 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=YyfrmX8SYfxgP/g8BqVIBEEAppz8GcyEO0PbPfBBKMU=; b=VW1f5WaTGMXHaUII27jlmyjMiK1zA0PqU3D4mDXV4SoBqOHHMlBpaeMj1lJEUY0ULX JqHZM9TAlLdNGycOzB8CQF8dNvBpXinVrgvU8lobaM9KSUD+TYjEKi+msUlXIXzGL0ko gFOcpmTfsA54vPhr5y1qxuXBbqXB2L2xHiuQ1gydU3+rjS5gXdWjyg99m/Ak3E7gQJ0Q 4eTAxais1zrX2ZX4IXb/RvhBpMGG98Kh+4nA541wloIuA0Jy5jFqoyPdmTVd6AeK5+C6 V4w/6UFT7Bu+ZecPKkwY14Yds5qmHvPfrbru684KyeB1k0/77V2WR1H7+TVbpFXH3zPi 45Ng== X-Gm-Message-State: AOJu0YwkyVslAsXANMY7/0Y99Y9Tml8r+/8M3xxsp2QaVYvn1yfr3QWM 13ROHRiJWPC3aoF2bWHpLRHL6a2XEfoj X-Google-Smtp-Source: AGHT+IETS2wMpCT0fvXFeWRIoyxRh6J1rlFulgIYswN8qY/BztVcD0h804M/t46jW2XazPHnfi7jT5YN+Nc2 X-Received: from irogers.svl.corp.google.com ([2620:15c:2a3:200:a376:2908:1c75:ff78]) (user=irogers job=sendgmr) by 2002:a81:c607:0:b0:59b:d9b8:9ae3 with SMTP id l7-20020a81c607000000b0059bd9b89ae3mr21091ywi.10.1695447343513; Fri, 22 Sep 2023 22:35:43 -0700 (PDT) Date: Fri, 22 Sep 2023 22:35:00 -0700 In-Reply-To: <20230923053515.535607-1-irogers@google.com> Message-Id: <20230923053515.535607-4-irogers@google.com> Mime-Version: 1.0 References: <20230923053515.535607-1-irogers@google.com> X-Mailer: git-send-email 2.42.0.515.g380fc7ccd1-goog Subject: [PATCH v1 03/18] run-clang-tools: Add pass through checks and and header-filter arguments From: Ian Rogers To: Nathan Chancellor , Nick Desaulniers , Tom Rix , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Ian Rogers , Adrian Hunter , Yicong Yang , Jonathan Cameron , Yang Jihong , Kan Liang , Ming Wang , Huacai Chen , Sean Christopherson , K Prateek Nayak , Yanteng Si , Yuan Can , Ravi Bangoria , James Clark , Paolo Bonzini , 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. Signed-off-by: Ian Rogers --- scripts/clang-tools/run-clang-tools.py | 34 ++++++++++++++++++++------ 1 file changed, 27 insertions(+), 7 deletions(-) diff --git a/scripts/clang-tools/run-clang-tools.py b/scripts/clang-tools/r= un-clang-tools.py index 3266708a8658..5dfe03852cb4 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,29 @@ 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] + if checks: + pargs.append("-checks=3D" + ",".join(checks)) + 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.515.g380fc7ccd1-goog From nobody Fri Feb 13 14:08:25 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 C4D20CE7A8C for ; Sat, 23 Sep 2023 05:36:02 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229989AbjIWFgF (ORCPT ); Sat, 23 Sep 2023 01:36:05 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59602 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229884AbjIWFfw (ORCPT ); Sat, 23 Sep 2023 01:35: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 AACEA19E for ; Fri, 22 Sep 2023 22:35:46 -0700 (PDT) Received: by mail-yw1-x114a.google.com with SMTP id 00721157ae682-59f4f2a9ef0so16370497b3.2 for ; Fri, 22 Sep 2023 22:35:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1695447346; x=1696052146; 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=tl2sn727KJMlO6SMtr3A6ZiYWuqB+jcCP05IXOF0Rso=; b=GKI5bBV5k41N7T/FQYnY25TahvoCxGzsXWLLCHfTta2GFLpJ3m4p1eE3Ab+tVWTMzF wgXl7ejPqCU0VyCj6s2Qbp5rOEhoQt8ABLbId2iQ2GFxJlmRTIKXcnIcvJGSWTzPLXfX fiirNkqYaP++i5y44pokYxBKNb3VgK7qKuW+C1o0oZeq9/v1+pBwfs46uuwAvHbHvrL4 WjHppmzHzbBQ4GkB8rMzHO3kDoH10befQTAMV4daUUXSrtFvpvGAvOce+iPJvcqpQwOf FXik0EEi0zkuaAIMSMXpLtMB2v79BcdGCffEEcVvTQ4PQTHAKD4Lw9aoCs7YpNhiOn0I /a/Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1695447346; x=1696052146; 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=tl2sn727KJMlO6SMtr3A6ZiYWuqB+jcCP05IXOF0Rso=; b=hRi6pQgqYHuqweE8cgK96L7yN1QlMBFCoYX5WQrxhgppli0ujjBhU8QcnCjPCs7wBU VUyJGNAyuVjo7QvUGPZQB5xmmkY3+syM4O5/EAu1gVGmQXnRfisYiPQ6J/DjzoRNKjJz d7Ourz48lBZ0ip30gdTuCFx31q9AEQ1dgIVG9z3AeSCRag0ZFh8KYSeHbj7+/I5aQvHi DcgLE3oXMSWW1mtACvo19qszJFiz+jzQxGmTaNJBmuAI8pmqyb16cYEPQg8hcVPY5RaA HheGJw7+ftEuVqsoqzyg7a8hf06AM0qBiNHxp5ePtxHlNEL74KgRFbTnRU5CZDqQrBF1 RmtA== X-Gm-Message-State: AOJu0Yy7v17mGP5g4bJ6FC13nPVOW2Xgd5rEGZf+CAFpTu55eXEv8Ry2 O8A70dtweUun4lkUKsWq8rjnNsk4VkBJ X-Google-Smtp-Source: AGHT+IEpB4ceFB8hMqXpgUfgfqjdrpt7iWJfuJvUFtKD0Y9n2ndn3h9cRzzXJUloa5oQOGJF/fsXJ+a1H0ub X-Received: from irogers.svl.corp.google.com ([2620:15c:2a3:200:a376:2908:1c75:ff78]) (user=irogers job=sendgmr) by 2002:a0d:ec52:0:b0:576:af04:3495 with SMTP id r18-20020a0dec52000000b00576af043495mr19364ywn.9.1695447345828; Fri, 22 Sep 2023 22:35:45 -0700 (PDT) Date: Fri, 22 Sep 2023 22:35:01 -0700 In-Reply-To: <20230923053515.535607-1-irogers@google.com> Message-Id: <20230923053515.535607-5-irogers@google.com> Mime-Version: 1.0 References: <20230923053515.535607-1-irogers@google.com> X-Mailer: git-send-email 2.42.0.515.g380fc7ccd1-goog Subject: [PATCH v1 04/18] perf hisi-ptt: Fix potential memory leak From: Ian Rogers To: Nathan Chancellor , Nick Desaulniers , Tom Rix , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Ian Rogers , Adrian Hunter , Yicong Yang , Jonathan Cameron , Yang Jihong , Kan Liang , Ming Wang , Huacai Chen , Sean Christopherson , K Prateek Nayak , Yanteng Si , Yuan Can , Ravi Bangoria , James Clark , Paolo Bonzini , llvm@lists.linux.dev, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, bpf@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Fix clang-tidy found potential memory leak and unread value: ``` tools/perf/util/hisi-ptt.c:108:3: warning: Value stored to 'data_offset' is= never read [clang-analyzer-deadcode.DeadStores] data_offset =3D 0; ^ ~ tools/perf/util/hisi-ptt.c:108:3: note: Value stored to 'data_offset' is ne= ver read data_offset =3D 0; ^ ~ tools/perf/util/hisi-ptt.c:112:12: warning: Potential leak of memory pointe= d to by 'data' [clang-analyzer-unix.Malloc] return -errno; ^ /usr/include/errno.h:38:18: note: expanded from macro 'errno' ^ tools/perf/util/hisi-ptt.c:100:15: note: Memory is allocated void *data =3D malloc(size); ^~~~~~~~~~~~ tools/perf/util/hisi-ptt.c:104:6: note: Assuming 'data' is non-null if (!data) ^~~~~ tools/perf/util/hisi-ptt.c:104:2: note: Taking false branch if (!data) ^ tools/perf/util/hisi-ptt.c:107:6: note: Assuming the condition is false if (perf_data__is_pipe(session->data)) { ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ tools/perf/util/hisi-ptt.c:107:2: note: Taking false branch if (perf_data__is_pipe(session->data)) { ^ tools/perf/util/hisi-ptt.c:111:7: note: Assuming the condition is true if (data_offset =3D=3D -1) ^~~~~~~~~~~~~~~~~ tools/perf/util/hisi-ptt.c:111:3: note: Taking true branch if (data_offset =3D=3D -1) ^ tools/perf/util/hisi-ptt.c:112:12: note: Potential leak of memory pointed t= o by 'data' return -errno; ^ /usr/include/errno.h:38:18: note: expanded from macro 'errno' ``` Signed-off-by: Ian Rogers --- tools/perf/util/hisi-ptt.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/tools/perf/util/hisi-ptt.c b/tools/perf/util/hisi-ptt.c index 45b614bb73bf..ea297329c526 100644 --- a/tools/perf/util/hisi-ptt.c +++ b/tools/perf/util/hisi-ptt.c @@ -98,18 +98,18 @@ static int hisi_ptt_process_auxtrace_event(struct perf_= session *session, int fd =3D perf_data__fd(session->data); int size =3D event->auxtrace.size; void *data =3D malloc(size); - off_t data_offset; int err; =20 if (!data) return -errno; =20 - if (perf_data__is_pipe(session->data)) { - data_offset =3D 0; - } else { - data_offset =3D lseek(fd, 0, SEEK_CUR); - if (data_offset =3D=3D -1) + if (!perf_data__is_pipe(session->data)) { + off_t data_offset =3D lseek(fd, 0, SEEK_CUR); + + if (data_offset =3D=3D -1) { + free(data); return -errno; + } } =20 err =3D readn(fd, data, size); --=20 2.42.0.515.g380fc7ccd1-goog From nobody Fri Feb 13 14:08:25 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 D329DCE7A88 for ; Sat, 23 Sep 2023 05:36:06 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230084AbjIWFgJ (ORCPT ); Sat, 23 Sep 2023 01:36:09 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59646 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229973AbjIWFf4 (ORCPT ); Sat, 23 Sep 2023 01:35:56 -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 1C1711A5 for ; Fri, 22 Sep 2023 22:35:49 -0700 (PDT) Received: by mail-yw1-x1149.google.com with SMTP id 00721157ae682-5924b2aac52so52331107b3.2 for ; Fri, 22 Sep 2023 22:35:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1695447348; x=1696052148; 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=2TUsgHG34tvRYixG1937P5Fi9+1duOaYRJoYEfUpa7o=; b=ac7U+/zovsVy7j2SNYIovLA3UTVgWwKkggpmvZy5N/ZOenXtldGk0iq5BsUEhfUvJh +QrxL21ZnLKxKmFLPi8WbF0mNVlKeOAVdbTybYw9jWt8IEakEV8CbXhtzt88E3WmZexb Z1L5hY210/5+lW2ZJHO9/Rd97HqpGf4XdAaXVrXMJU1HAxjwI6rwjh0pB49Y2APrsbjE DdNpJ95UeYLHgQEnTpK8frdOaIMZ8BqNfjq69W7adGekJUzDIJiZOFwF20gp5OyovTxU 3YiItascMr1zE6XJqAdItnyiSJKWtZdM/ngBLPQZXKvLEahBcZH7FlEAH/2jgH50LK+j DmJA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1695447348; x=1696052148; 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=2TUsgHG34tvRYixG1937P5Fi9+1duOaYRJoYEfUpa7o=; b=CF6deMNg6CmjTCGlGxPuNUsY+H+WZaDkNHk/8w7jL0WQahmIQ5OB3PI5G2Cu9YmhWv efyvhwTeNkoHxftQcfq3ainIG6L4jxIRCRdxGuRNYrDDYIbAm0UYtYDtP6HGJKwMx2Gy sLs96D4Xi/ouREKyjKYH8uos46afLFQxuLDrgMjnjroBFlQToasuTuxeGFSCrCVMEq7A FAUaHbBlGC5mPa02tUdvcXvOQE5Jnoy64iA9F1kDTpCrDURb6OPYi/wFuFZiNMfBwzzQ l+KrJR2dEwLW7Yxg8gg+646T3IZunHDm87kkXXKPiZRQHomtUdHUY1rRQX3wANlIL1rJ X+7g== X-Gm-Message-State: AOJu0YzOmXDYcXGf4qnnDs6IOlZ73TZyjfyJb2qq6CbeVu+VgQXZwXhW KhI89GOzNO09IE910Zzi0fzUoFdPImSM X-Google-Smtp-Source: AGHT+IEp4kbeLYXnxxqvZKp5O2vhys9x017pPzfHBmcwh+n5Yk8hZwya6+TOe1kFu1OjvjZAFx6MM0x3TpT1 X-Received: from irogers.svl.corp.google.com ([2620:15c:2a3:200:a376:2908:1c75:ff78]) (user=irogers job=sendgmr) by 2002:a05:6902:a8c:b0:d80:6110:835e with SMTP id cd12-20020a0569020a8c00b00d806110835emr12073ybb.3.1695447348106; Fri, 22 Sep 2023 22:35:48 -0700 (PDT) Date: Fri, 22 Sep 2023 22:35:02 -0700 In-Reply-To: <20230923053515.535607-1-irogers@google.com> Message-Id: <20230923053515.535607-6-irogers@google.com> Mime-Version: 1.0 References: <20230923053515.535607-1-irogers@google.com> X-Mailer: git-send-email 2.42.0.515.g380fc7ccd1-goog Subject: [PATCH v1 05/18] perf bench uprobe: Fix potential use of memory after free From: Ian Rogers To: Nathan Chancellor , Nick Desaulniers , Tom Rix , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Ian Rogers , Adrian Hunter , Yicong Yang , Jonathan Cameron , Yang Jihong , Kan Liang , Ming Wang , Huacai Chen , Sean Christopherson , K Prateek Nayak , Yanteng Si , Yuan Can , Ravi Bangoria , James Clark , Paolo Bonzini , llvm@lists.linux.dev, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, bpf@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Found by clang-tidy: ``` bench/uprobe.c:98:3: warning: Use of memory after it is freed [clang-analyz= er-unix.Malloc] bench_uprobe_bpf__destroy(skel); ``` Signed-off-by: Ian Rogers --- tools/perf/bench/uprobe.c | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/perf/bench/uprobe.c b/tools/perf/bench/uprobe.c index 914c0817fe8a..5c71fdc419dd 100644 --- a/tools/perf/bench/uprobe.c +++ b/tools/perf/bench/uprobe.c @@ -89,6 +89,7 @@ static int bench_uprobe__setup_bpf_skel(enum bench_uprobe= bench) return err; cleanup: bench_uprobe_bpf__destroy(skel); + skel =3D NULL; return err; } =20 --=20 2.42.0.515.g380fc7ccd1-goog From nobody Fri Feb 13 14:08:25 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 F34CACE7A8C for ; Sat, 23 Sep 2023 05:36:12 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230114AbjIWFgP (ORCPT ); Sat, 23 Sep 2023 01:36:15 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42028 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230039AbjIWFgB (ORCPT ); Sat, 23 Sep 2023 01:36:01 -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 2C1D9CC7 for ; Fri, 22 Sep 2023 22:35:51 -0700 (PDT) Received: by mail-yw1-x114a.google.com with SMTP id 00721157ae682-59e78032ef9so54065147b3.2 for ; Fri, 22 Sep 2023 22:35:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1695447350; x=1696052150; 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=/AfDeYd3y4U8gp4T1+0CLrDpr9vwqimMAiCox+i0+u8=; b=Hn3VBRTiMJEEBkI6gwTaSqQTAD7HGnv4E8RQCSUkonv6Wpnfi1vjgTaAW6uoAQeAwx 7263ONpjq795I8fZFMhSeZBCwpB9owiYfrWyHIiLIY/feIPcVB9rMqGhbl3Vc4VYc7Rm DNTiamzYd454hl0FqI4a8vp6hc85d9eBjYKpcjGfBz74U4hAYMoiY98fxeZZ4/vbThGH 8PYqAr7bFnGktPi75mKyuUtmrEyyiMyuhg0MhE+JSyYoJfByQh7V0nv8oGvxXeHubo1E 10H9A1sMzCjHb733vIxDNbmZxXlM1AoIulRLEKc0MwYh4EoIXnUAkPZGuv7XK2qeijVH AUIA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1695447350; x=1696052150; 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=/AfDeYd3y4U8gp4T1+0CLrDpr9vwqimMAiCox+i0+u8=; b=Gy/zyX4NdQatuqggipjN6pIJQkOuNm0cNEGrmQatYwDN4B89iutJUqyiYAjIp6YDt0 KcoJTGdgZcK3l3RAbgrg8pF14O3ni48mckZC96umx70ZR9fiL56RtbXvhpfPKpScPqPj Hwh9DwldlkvYeqSUtq22FLN1xKmJ7N/kreqa2pVobrjYfWddp3MnRvJ3XX3LmYAWWVVW ECdkZYARXW+FUjWAsAkKI06utyjfj8GoTsL8aOSnQMUHgJN0OHBDzhLH20oqX3rXl/DS M684VCQrIM3FU9/xDZHgmLX345r2TXQkbyhXB2bHk+xBrj2ZQZqZ+GLcLVECOt3YGAqe xdQQ== X-Gm-Message-State: AOJu0YwhELMLKKsUVb4Mg3eJ2m3yr721+iDpNTZJN7Bhnl13sP9GCz5r n1aoFnLXKGBjisdgnpfGZO19/uUI4b6A X-Google-Smtp-Source: AGHT+IFEnjvrFYTzzkb1dI9/2klEiZwWev3gToYu5hzr8ovZWNcWhYoEwlz8DIZQ9Lino1g7YG2kJaYO8amj X-Received: from irogers.svl.corp.google.com ([2620:15c:2a3:200:a376:2908:1c75:ff78]) (user=irogers job=sendgmr) by 2002:a05:690c:72c:b0:59b:d33b:5ddc with SMTP id bt12-20020a05690c072c00b0059bd33b5ddcmr20810ywb.4.1695447350168; Fri, 22 Sep 2023 22:35:50 -0700 (PDT) Date: Fri, 22 Sep 2023 22:35:03 -0700 In-Reply-To: <20230923053515.535607-1-irogers@google.com> Message-Id: <20230923053515.535607-7-irogers@google.com> Mime-Version: 1.0 References: <20230923053515.535607-1-irogers@google.com> X-Mailer: git-send-email 2.42.0.515.g380fc7ccd1-goog Subject: [PATCH v1 06/18] perf buildid-cache: Fix use of uninitialized value From: Ian Rogers To: Nathan Chancellor , Nick Desaulniers , Tom Rix , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Ian Rogers , Adrian Hunter , Yicong Yang , Jonathan Cameron , Yang Jihong , Kan Liang , Ming Wang , Huacai Chen , Sean Christopherson , K Prateek Nayak , Yanteng Si , Yuan Can , Ravi Bangoria , James Clark , Paolo Bonzini , llvm@lists.linux.dev, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, bpf@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The buildid filename is first determined and then from this the buildid read. If getting the filename fails then the buildid will be used for a later memcmp uninitialized. Detected by clang-tidy. Signed-off-by: Ian Rogers --- tools/perf/builtin-buildid-cache.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/tools/perf/builtin-buildid-cache.c b/tools/perf/builtin-buildi= d-cache.c index cd381693658b..e2a40f1d9225 100644 --- a/tools/perf/builtin-buildid-cache.c +++ b/tools/perf/builtin-buildid-cache.c @@ -277,8 +277,10 @@ static bool dso__missing_buildid_cache(struct dso *dso= , int parm __maybe_unused) char filename[PATH_MAX]; struct build_id bid; =20 - if (dso__build_id_filename(dso, filename, sizeof(filename), false) && - filename__read_build_id(filename, &bid) =3D=3D -1) { + if (!dso__build_id_filename(dso, filename, sizeof(filename), false)) + return true; + + if (filename__read_build_id(filename, &bid) =3D=3D -1) { if (errno =3D=3D ENOENT) return false; =20 --=20 2.42.0.515.g380fc7ccd1-goog From nobody Fri Feb 13 14:08:25 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 82599CE7A88 for ; Sat, 23 Sep 2023 05:36:25 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230360AbjIWFg2 (ORCPT ); Sat, 23 Sep 2023 01:36:28 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42140 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230149AbjIWFgD (ORCPT ); Sat, 23 Sep 2023 01:36:03 -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 43649CE3 for ; Fri, 22 Sep 2023 22:35:53 -0700 (PDT) Received: by mail-yw1-x1149.google.com with SMTP id 00721157ae682-59f4bd6905aso17796117b3.3 for ; Fri, 22 Sep 2023 22:35:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1695447352; x=1696052152; 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=9JLMR1XL8zAjwZWVAlK6A4BDEZJsECGT2sz2xABlKYc=; b=NSUJS5aNzLfDWHxLQARpRVVvDRT53eBlVVXHiRc2Nudz44dSTtwVLIF+b51LEQmtOz sRBdMAINcll4En1D9+a/nBy+LsWOYSib2lhmtHiQq/pnbq/NyOD8p04+aMPATmoC01uB wDFIeCViyq7tWj04Cs2mXJAKvQ/F4tISFZQxr3FrFp+KXaOS8y+u1JGTUmbVKDYYloWn UgfsfSKSYBbm/Hv2EnAgnW4T++9PLD1VusNNEqHZdYLJvzk/87BQ+n8TFCsIEzxlQDSa 4qZxi4xqMokew1sEBxCo/CTf4I7a2DRv4AqhqWVVqE5X5fQenCALvcj3AwzbEywCQyoO kHBw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1695447352; x=1696052152; 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=9JLMR1XL8zAjwZWVAlK6A4BDEZJsECGT2sz2xABlKYc=; b=M8aeVUrQs4P9nl0waoRlbYX7D9WGLsqJLGiHrHNm5F1UEmbP0RSX3cb+SFnmV6lBmq bFAOiotag08Sa5zUdxhjJO0lhy1aLTj35KYAMYk1tIyphFr/p3+uxCXVGL3u4/wAZBth 2SFP78aBZvaeZiy6l3WkzSl2mTsKKyCjgZ7h47M8DpMzu+Kbn4yxvHccLFa0Mn+Qt9it R9nDLyyG70VWhEX3aMu9lv2XoM6aXsIOfdSqlzVhPV+murH1mWhoRiZ4aERM0LuLBRgB CAoOyQkBcIfgJnVR7FHsJqqoDViQNwYoPDxs7JFuYLY9/Jh86B/Zj/msasgiT6oNqG1X lM7Q== X-Gm-Message-State: AOJu0Yyv2DXrUwblqeaKfY0uOPApCJrXFcFoQFlkxpspaXgETyRJj5Mi U4Aajrbe3eLsf178rpKYG8J6qtAnNn4L X-Google-Smtp-Source: AGHT+IGwoVliXHNo2Ezm8GW+6WCcr1eN33xbWzqXWDeiL+JMjQWZaBaqiW/AxKNeH9OmHAU2FWAtbGPCLBod X-Received: from irogers.svl.corp.google.com ([2620:15c:2a3:200:a376:2908:1c75:ff78]) (user=irogers job=sendgmr) by 2002:a05:6902:1105:b0:d81:6637:b5b2 with SMTP id o5-20020a056902110500b00d816637b5b2mr14384ybu.0.1695447352596; Fri, 22 Sep 2023 22:35:52 -0700 (PDT) Date: Fri, 22 Sep 2023 22:35:04 -0700 In-Reply-To: <20230923053515.535607-1-irogers@google.com> Message-Id: <20230923053515.535607-8-irogers@google.com> Mime-Version: 1.0 References: <20230923053515.535607-1-irogers@google.com> X-Mailer: git-send-email 2.42.0.515.g380fc7ccd1-goog Subject: [PATCH v1 07/18] perf env: Remove unnecessary NULL tests From: Ian Rogers To: Nathan Chancellor , Nick Desaulniers , Tom Rix , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Ian Rogers , Adrian Hunter , Yicong Yang , Jonathan Cameron , Yang Jihong , Kan Liang , Ming Wang , Huacai Chen , Sean Christopherson , K Prateek Nayak , Yanteng Si , Yuan Can , Ravi Bangoria , James Clark , Paolo Bonzini , llvm@lists.linux.dev, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, bpf@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" clang-tidy was warning: ``` util/env.c:334:23: warning: Access to field 'nr_pmu_mappings' results in a = dereference of a null pointer (loaded from variable 'env') [clang-analyzer-= core.NullDereference] env->nr_pmu_mappings =3D pmu_num; ``` As functions are called potentially when !env was true. This condition could never be true as it would produce a segv, so remove the unnecessary NULL tests and silence clang-tidy. Signed-off-by: Ian Rogers --- tools/perf/util/env.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/perf/util/env.c b/tools/perf/util/env.c index a164164001fb..44140b7f596a 100644 --- a/tools/perf/util/env.c +++ b/tools/perf/util/env.c @@ -457,7 +457,7 @@ const char *perf_env__cpuid(struct perf_env *env) { int status; =20 - if (!env || !env->cpuid) { /* Assume local operation */ + if (!env->cpuid) { /* Assume local operation */ status =3D perf_env__read_cpuid(env); if (status) return NULL; @@ -470,7 +470,7 @@ int perf_env__nr_pmu_mappings(struct perf_env *env) { int status; =20 - if (!env || !env->nr_pmu_mappings) { /* Assume local operation */ + if (!env->nr_pmu_mappings) { /* Assume local operation */ status =3D perf_env__read_pmu_mappings(env); if (status) return 0; @@ -483,7 +483,7 @@ const char *perf_env__pmu_mappings(struct perf_env *env) { int status; =20 - if (!env || !env->pmu_mappings) { /* Assume local operation */ + if (!env->pmu_mappings) { /* Assume local operation */ status =3D perf_env__read_pmu_mappings(env); if (status) return NULL; --=20 2.42.0.515.g380fc7ccd1-goog From nobody Fri Feb 13 14:08:25 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 C4A65CE7A8C for ; Sat, 23 Sep 2023 05:36:38 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230202AbjIWFgl (ORCPT ); Sat, 23 Sep 2023 01:36:41 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42108 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230122AbjIWFgX (ORCPT ); Sat, 23 Sep 2023 01:36:23 -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 EA70CE4C for ; Fri, 22 Sep 2023 22:35:55 -0700 (PDT) Received: by mail-yb1-xb4a.google.com with SMTP id 3f1490d57ef6-d81503de9c9so4338520276.3 for ; Fri, 22 Sep 2023 22:35:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1695447355; x=1696052155; 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=dlidEJ2kQokrDb8kn7wfdV/NkutdZ64KLuYSK3l+lfk=; b=0iMrAGF0iOdCZx3w6KXurMJEXCIoPDZGq69PwP02WL5MmrSjrz9RV9ifnvBRQrySBN 3s1ezMBtlL5uYOGNUgG+F+Slr4TlXeRP6ugGJNUMMU1LPEMFAzgdtz5O/bo0dNUII1Ut FYvR9RCoPTwlKblLCNiki8ekoTXLTAAzQ0XRgQJlXXqP2JHDcG+1pCOh0ji+1hxH2LL8 CYxc61y8sywDXnQWnEpzydu0DmjBihnVeySWZrX0zMrd1p1Fr1hKpLz39lYzFwRaPsDO qisb5CIP6cRg6FvxDArH3c1/IeS/OHLu+tegN5uTUYzfXehB5lqtK30tj0FqVTVvWQVn KO9A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1695447355; x=1696052155; 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=dlidEJ2kQokrDb8kn7wfdV/NkutdZ64KLuYSK3l+lfk=; b=gXwXBjRoYLgthOueRGfQpAwSzTgG84QhErOv/paszTNQVRzr09dbalNGkYVrpeMpTR p3YQTcmexegG554Rr/g6AxXbovuBOHVP5yaZvjeCt8+qPiysLrKxy6I17adq3IT793HC ntuBVS3sewelAjGCOfFwfQnhqyNqlvHxcf0TS+L5kzlwC1CMI7X1QFKOIPyABOdZ1ec0 TXYjUJ5NCq/4GLrcT1JI9DwQGCKIX8/iHgC9ClKVWaYcZFraNZa011NKhFMfM6uoRzG4 p2QTKU8PeyRxXK9b4cR3N359vgTA31r237z6OX5DlRxOluY/C3fndsKogVAeQvgEq63y 6CmA== X-Gm-Message-State: AOJu0YzoPVQhsLJaim5IMf2DqM6J0Ige4PKPZz1/lZaQe/o7ANm+/9i5 05VJbtYckxwuOB0/br+GlKvza22oRAGi X-Google-Smtp-Source: AGHT+IE5O/1uW/OzbQMR5RN6Xnw5h1anx/RzV4ErZJvmavBS84pg85VIDix3s20OM15IyOeG9FkrtyFxdmAF X-Received: from irogers.svl.corp.google.com ([2620:15c:2a3:200:a376:2908:1c75:ff78]) (user=irogers job=sendgmr) by 2002:a05:6902:161c:b0:d0e:e780:81b3 with SMTP id bw28-20020a056902161c00b00d0ee78081b3mr12406ybb.2.1695447354781; Fri, 22 Sep 2023 22:35:54 -0700 (PDT) Date: Fri, 22 Sep 2023 22:35:05 -0700 In-Reply-To: <20230923053515.535607-1-irogers@google.com> Message-Id: <20230923053515.535607-9-irogers@google.com> Mime-Version: 1.0 References: <20230923053515.535607-1-irogers@google.com> X-Mailer: git-send-email 2.42.0.515.g380fc7ccd1-goog Subject: [PATCH v1 08/18] perf jitdump: Avoid memory leak From: Ian Rogers To: Nathan Chancellor , Nick Desaulniers , Tom Rix , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Ian Rogers , Adrian Hunter , Yicong Yang , Jonathan Cameron , Yang Jihong , Kan Liang , Ming Wang , Huacai Chen , Sean Christopherson , K Prateek Nayak , Yanteng Si , Yuan Can , Ravi Bangoria , James Clark , Paolo Bonzini , llvm@lists.linux.dev, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, bpf@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" jit_repipe_unwinding_info is called in a loop by jit_process_dump, avoid leaking unwinding_data by free-ing before overwriting. Error detected by clang-tidy. Signed-off-by: Ian Rogers --- tools/perf/util/jitdump.c | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/perf/util/jitdump.c b/tools/perf/util/jitdump.c index 6b2b96c16ccd..1f657ef8975f 100644 --- a/tools/perf/util/jitdump.c +++ b/tools/perf/util/jitdump.c @@ -675,6 +675,7 @@ jit_repipe_unwinding_info(struct jit_buf_desc *jd, unio= n jr_entry *jr) jd->eh_frame_hdr_size =3D jr->unwinding.eh_frame_hdr_size; jd->unwinding_size =3D jr->unwinding.unwinding_size; jd->unwinding_mapped_size =3D jr->unwinding.mapped_size; + free(jd->unwinding_data); jd->unwinding_data =3D unwinding_data; =20 return 0; --=20 2.42.0.515.g380fc7ccd1-goog From nobody Fri Feb 13 14:08:25 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 972C7CE7A88 for ; Sat, 23 Sep 2023 05:36:34 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230284AbjIWFgi (ORCPT ); Sat, 23 Sep 2023 01:36:38 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45494 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230225AbjIWFgY (ORCPT ); Sat, 23 Sep 2023 01:36: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 043F71B0 for ; Fri, 22 Sep 2023 22:35:58 -0700 (PDT) Received: by mail-yw1-x1149.google.com with SMTP id 00721157ae682-59beb3a8291so52251057b3.1 for ; Fri, 22 Sep 2023 22:35:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1695447357; x=1696052157; 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=0gGdTy/Hpx4ZQLMYPilsnkHUZ9OACUdEplw6hC2pVSI=; b=VECHTX8kH/m85pfQg57m3iGB7ST5r0q4pSlbk/RBPLUEh9xIOTdPwJzZtNhxzcXt1D +ahbfZbBP3JAFkixzvlI0ewFZW4GlcunjGpWryCSEeMK2+qhtVkuiiVYR5COoTycUKpw 0uujQVhzYlIEO85f8NNW+5z0i7m+KPQQO2KVZHc0qTvzqZaLz1P3XPcN86MnWnjwlwxU +P7VSh9ggnno7K+uzXPag31BZKf4vHqJ2OikvhkPXwD9Qj6YZGcjd5XDCIfErmi4roys wX5KxzNtqcQPPlM/nG01lfZVdySQTQhJzYVjmcMgA/bMViIA3iRa0TQB5mxXlQQYL27t n33g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1695447357; x=1696052157; 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=0gGdTy/Hpx4ZQLMYPilsnkHUZ9OACUdEplw6hC2pVSI=; b=I/LZ5oHkhhzqMYXMefgDRUdWJOk22FHhr3yooqBE4jgtW4yajltUJ8tiXGId9daNvv CRIy6x0sSSSsZoP5sTLLXlPT2So+7/aiUzxD+sgGfbvbaHB2H7duQoVvV8lq1tR+aaZY YnuGdir3RQTvrQ0ZohEbgc/SMjBxSulBXeZR5klLcTmB3yypas1n7TwG1uJwBHMiGSeB kI0083TniKpUSWvxIAT4irJbauxXghBPSHpYKdgBv+y/3dQAaSrtd4y+yUK61+ptkbNo Sc+O4irvFoAu11146mS2cZcJ8KLIgjn1MEpdeL8OvbjvAkc9P+QRsGT5EqQubNkpm3xt /WMQ== X-Gm-Message-State: AOJu0Yxtur1kxz+XIJuo7/P5UqPLwWJrTh67ws7GfQ2xh4uOHVkqL74M 91rh/hfmdG7WsInP8HHgV/ieHSPULt6U X-Google-Smtp-Source: AGHT+IHu3H0RgtYZ8l9qpPGoXpBjWqmDv48DSjpHsFtxnOifuDQfmXQ64ydXe7XcESUrtgiyDqPuQqKHNS6T X-Received: from irogers.svl.corp.google.com ([2620:15c:2a3:200:a376:2908:1c75:ff78]) (user=irogers job=sendgmr) by 2002:a0d:ec52:0:b0:58c:6ddd:d27c with SMTP id r18-20020a0dec52000000b0058c6dddd27cmr19945ywn.6.1695447356813; Fri, 22 Sep 2023 22:35:56 -0700 (PDT) Date: Fri, 22 Sep 2023 22:35:06 -0700 In-Reply-To: <20230923053515.535607-1-irogers@google.com> Message-Id: <20230923053515.535607-10-irogers@google.com> Mime-Version: 1.0 References: <20230923053515.535607-1-irogers@google.com> X-Mailer: git-send-email 2.42.0.515.g380fc7ccd1-goog Subject: [PATCH v1 09/18] perf mem-events: Avoid uninitialized read From: Ian Rogers To: Nathan Chancellor , Nick Desaulniers , Tom Rix , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Ian Rogers , Adrian Hunter , Yicong Yang , Jonathan Cameron , Yang Jihong , Kan Liang , Ming Wang , Huacai Chen , Sean Christopherson , K Prateek Nayak , Yanteng Si , Yuan Can , Ravi Bangoria , James Clark , Paolo Bonzini , llvm@lists.linux.dev, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, bpf@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" pmu should be initialized to NULL before perf_pmus__scan loop. Fix and shrink the scope of pmu at the same time. Issue detected by clang-tidy. Fixes: 5752c20f3787 ("perf mem: Scan all PMUs instead of just core ones") Signed-off-by: Ian Rogers --- tools/perf/util/mem-events.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tools/perf/util/mem-events.c b/tools/perf/util/mem-events.c index 39ffe8ceb380..954b235e12e5 100644 --- a/tools/perf/util/mem-events.c +++ b/tools/perf/util/mem-events.c @@ -185,7 +185,6 @@ int perf_mem_events__record_args(const char **rec_argv,= int *argv_nr, { int i =3D *argv_nr, k =3D 0; struct perf_mem_event *e; - struct perf_pmu *pmu; =20 for (int j =3D 0; j < PERF_MEM_EVENTS__MAX; j++) { e =3D perf_mem_events__ptr(j); @@ -202,6 +201,8 @@ int perf_mem_events__record_args(const char **rec_argv,= int *argv_nr, rec_argv[i++] =3D "-e"; rec_argv[i++] =3D perf_mem_events__name(j, NULL); } else { + struct perf_pmu *pmu =3D NULL; + if (!e->supported) { perf_mem_events__print_unsupport_hybrid(e, j); return -1; --=20 2.42.0.515.g380fc7ccd1-goog From nobody Fri Feb 13 14:08:25 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 09BC4CE7A8C for ; Sat, 23 Sep 2023 05:36:31 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229980AbjIWFgf (ORCPT ); Sat, 23 Sep 2023 01:36:35 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59656 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230164AbjIWFg0 (ORCPT ); Sat, 23 Sep 2023 01:36:26 -0400 Received: from mail-yw1-x114a.google.com (mail-yw1-x114a.google.com [IPv6:2607:f8b0:4864:20::114a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 41DC7CE0 for ; Fri, 22 Sep 2023 22:36:00 -0700 (PDT) Received: by mail-yw1-x114a.google.com with SMTP id 00721157ae682-59f2c7a4f24so34827397b3.0 for ; Fri, 22 Sep 2023 22:36:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1695447359; x=1696052159; 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=pCtwtK8xajC9XBojO6y6JASy5d+HVvOMNbjwUuJaLFE=; b=LuMU0brGoqbkQFRHLWzbeHkOnf3oP4GDDOl+7qXPmfKYVrlk40SXTvAm2tiyWpwMG6 ucDNznBjD1+YC1tl0gUOp45nZ5ieMYQzr67TOZj5LsTc2ujuHnBQyEQQCPFJ4WekV3Pq JHImKHd4XVENfqcjl7a3EphJxFIv6idTtxzaPVxj1+D6Qn39ca5xLuIq+CaWfcDcLqFw F2d85dTEZ/0dM8E4R6Ue8ro02UZX/Wj873r8uEo7mf+DKMvy0rKjheX2hNgRBE8tj8Lm mJGkoXIepZDXXvgYxjOqWvDCOoU3lWiv7WIc7LUc/SVYBW+WKs1R2AxVSI2ZArEY4zoE xVBw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1695447359; x=1696052159; 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=pCtwtK8xajC9XBojO6y6JASy5d+HVvOMNbjwUuJaLFE=; b=f/0wvCCHaddZv4dpG4AnGnoCi8OE+Kfi0RqyRSTXrnNFiJJX7l+BLd2HHyzhRYy1x0 jpd4LDIr+D3ZsH0qU4My7xWSonrZt7I66py0KztzBJbvUIGssRKsWK2PjPwSaHKMD6DE k0NszybLCCATx0pcWOKAobM1wLsYQzymIRePvdQ+xD+J3DWWdvoyo1450J+MkeNNWph5 vZ9nE8jrzqPJxZnjrd7ZjF9XvYZ5O6kgVuFAV2G6vY4xzRTIkmg/ARmq8BMqoXTCIwSh OHlFxX1zT3HC89wUxMv8zLucKPmINJALzeARBrNn7q4FRfOVUzstU2BvA2RKxT+snUgJ CeWQ== X-Gm-Message-State: AOJu0YwRXjsCQxt6IcCK/XxQ+BwbuBF7X/SblCcL3WZtF2aofOUVYopL rmJZcVZXEcOFkXixjjEIJImh2vyvvEhY X-Google-Smtp-Source: AGHT+IFb+mlhJVRkd55x1iEq/qHM5aF05s6yk09PvbU0fJIXBSHtgAy824hVDau+Ns2A4L4kX9JpuxpfL/T9 X-Received: from irogers.svl.corp.google.com ([2620:15c:2a3:200:a376:2908:1c75:ff78]) (user=irogers job=sendgmr) by 2002:a25:d251:0:b0:d62:7f3f:621d with SMTP id j78-20020a25d251000000b00d627f3f621dmr13487ybg.11.1695447359056; Fri, 22 Sep 2023 22:35:59 -0700 (PDT) Date: Fri, 22 Sep 2023 22:35:07 -0700 In-Reply-To: <20230923053515.535607-1-irogers@google.com> Message-Id: <20230923053515.535607-11-irogers@google.com> Mime-Version: 1.0 References: <20230923053515.535607-1-irogers@google.com> X-Mailer: git-send-email 2.42.0.515.g380fc7ccd1-goog Subject: [PATCH v1 10/18] perf dlfilter: Be defensive against potential NULL dereference From: Ian Rogers To: Nathan Chancellor , Nick Desaulniers , Tom Rix , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Ian Rogers , Adrian Hunter , Yicong Yang , Jonathan Cameron , Yang Jihong , Kan Liang , Ming Wang , Huacai Chen , Sean Christopherson , K Prateek Nayak , Yanteng Si , Yuan Can , Ravi Bangoria , James Clark , Paolo Bonzini , llvm@lists.linux.dev, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, bpf@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" In the unlikely case of having a symbol without a mapping, avoid a NULL dereference that clang-tidy warns about. Signed-off-by: Ian Rogers --- tools/perf/util/dlfilter.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tools/perf/util/dlfilter.c b/tools/perf/util/dlfilter.c index 1dbf27822ee2..5e54832137a9 100644 --- a/tools/perf/util/dlfilter.c +++ b/tools/perf/util/dlfilter.c @@ -52,8 +52,10 @@ static void al_to_d_al(struct addr_location *al, struct = perf_dlfilter_al *d_al) d_al->sym_end =3D sym->end; if (al->addr < sym->end) d_al->symoff =3D al->addr - sym->start; - else + else if (al->map) d_al->symoff =3D al->addr - map__start(al->map) - sym->start; + else + d_al->symoff =3D 0; d_al->sym_binding =3D sym->binding; } else { d_al->sym =3D NULL; --=20 2.42.0.515.g380fc7ccd1-goog From nobody Fri Feb 13 14:08:25 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 94203CE7A8C for ; Sat, 23 Sep 2023 05:36:42 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230350AbjIWFgq (ORCPT ); Sat, 23 Sep 2023 01:36:46 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42140 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230373AbjIWFg2 (ORCPT ); Sat, 23 Sep 2023 01:36:28 -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 A3DA0E7F for ; Fri, 22 Sep 2023 22:36:03 -0700 (PDT) Received: by mail-yw1-x1149.google.com with SMTP id 00721157ae682-59f4bd6905aso17798337b3.3 for ; Fri, 22 Sep 2023 22:36:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1695447361; x=1696052161; 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=KS6/0u50No3rQJjH5fZIjyCOWL67f6naMZwh43hSjoQ=; b=1cvJSG2D4zjG+nEiyFOhhr9uXalDS6UQkYMUKbK51HR7DxnH983zpiM3pheR+NTgj0 3G77+KayBqt4kYsFEFxxzaXtFpJGhwwsmbfSJwnycGRFRJVPZokpYTjGCsTBJKh7zfyW e7u+G9O1RvKddrcNbO4nFc3LhEwSQpwKrYFWnU0ujSh9GQbLyRGqgHtneDdtpRestn5W k6Lpq2h1BM+2OucES/2Szki9Vq/cquG3SsnM6QUhsvH5IUL/v7iFbuPhVrEkuPrmsi9a CuqvZd9O2s2ZutPu4VWdWCSP8BIKML4jlg/S337z6YOWtvNlXAl15EVONKGfRyCgIj+v l0+Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1695447361; x=1696052161; 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=KS6/0u50No3rQJjH5fZIjyCOWL67f6naMZwh43hSjoQ=; b=o3DTBTWAjGYQjA6qj8UDYahoMM0G5xeoyWOXzOzq10Q1/VxvplLR1nBTSSwUWXhOrE fm180ezZVSf4jXuqbUrOtiRzSPj9S63iGnDS8qtZXrqkpD1ZrJisR3FLNPmg+tCZ9JF6 ZZ43hWHrf7kj1MBKEGsCz5xex852aDiyygV4XMUjYxGlIry76eEqAoCmp6Agg5XsJCRz NBXsNtA4U8awrc6CQt9/vIyFPaH+Rqb3RUXTfIoXkitXmTMpp2gyC6S74uvhRBoGf1e7 19fgM/gaBmT9waU4DEpEOSCtIw0xt/QUyzRtV2DoNjA9yUoTk5B3J5i2hd/tn+xoGu06 eC3g== X-Gm-Message-State: AOJu0YxG9m2QM92srotXeikRSRPobEr9902xENWaDcrh/2BB+pwKIBeC b38yf8qjKPwT9KCLZJR+MpN/n7Zy54K4 X-Google-Smtp-Source: AGHT+IECwTxHbmPoI1K04GORCbxem+8maRhSeJmf/Mja5259t/O6+9DbPUULMmgIJZReDHjnxiFQ+xTHxGuS X-Received: from irogers.svl.corp.google.com ([2620:15c:2a3:200:a376:2908:1c75:ff78]) (user=irogers job=sendgmr) by 2002:a05:6902:1105:b0:d81:6637:b5b2 with SMTP id o5-20020a056902110500b00d816637b5b2mr14388ybu.0.1695447361524; Fri, 22 Sep 2023 22:36:01 -0700 (PDT) Date: Fri, 22 Sep 2023 22:35:08 -0700 In-Reply-To: <20230923053515.535607-1-irogers@google.com> Message-Id: <20230923053515.535607-12-irogers@google.com> Mime-Version: 1.0 References: <20230923053515.535607-1-irogers@google.com> X-Mailer: git-send-email 2.42.0.515.g380fc7ccd1-goog Subject: [PATCH v1 11/18] perf hists browser: Reorder variables to reduce padding From: Ian Rogers To: Nathan Chancellor , Nick Desaulniers , Tom Rix , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Ian Rogers , Adrian Hunter , Yicong Yang , Jonathan Cameron , Yang Jihong , Kan Liang , Ming Wang , Huacai Chen , Sean Christopherson , K Prateek Nayak , Yanteng Si , Yuan Can , Ravi Bangoria , James Clark , Paolo Bonzini , llvm@lists.linux.dev, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, bpf@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Address clang-tidy warning: ``` tools/perf/ui/browsers/hists.c:2416:8: warning: Excessive padding in 'struc= t popup_action' (8 padding bytes, where 0 is optimal). Optimal fields order: time, thread, evsel, fn, ms, socket, rstype, ``` Signed-off-by: Ian Rogers --- tools/perf/ui/browsers/hists.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/perf/ui/browsers/hists.c b/tools/perf/ui/browsers/hists.c index 70db5a717905..f02ee605bbce 100644 --- a/tools/perf/ui/browsers/hists.c +++ b/tools/perf/ui/browsers/hists.c @@ -2416,12 +2416,12 @@ static int switch_data_file(void) struct popup_action { unsigned long time; struct thread *thread; + struct evsel *evsel; + int (*fn)(struct hist_browser *browser, struct popup_action *act); struct map_symbol ms; int socket; - struct evsel *evsel; enum rstype rstype; =20 - int (*fn)(struct hist_browser *browser, struct popup_action *act); }; =20 static int --=20 2.42.0.515.g380fc7ccd1-goog From nobody Fri Feb 13 14:08:25 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 C7206CE7A88 for ; Sat, 23 Sep 2023 05:37:01 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230261AbjIWFhE (ORCPT ); Sat, 23 Sep 2023 01:37:04 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45786 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230396AbjIWFg3 (ORCPT ); Sat, 23 Sep 2023 01:36:29 -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 9432910E3 for ; Fri, 22 Sep 2023 22:36:05 -0700 (PDT) Received: by mail-yw1-x1149.google.com with SMTP id 00721157ae682-59c2ca3bcf9so52539537b3.3 for ; Fri, 22 Sep 2023 22:36:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1695447364; x=1696052164; 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=a5vqIfXNWliDocU8tzStcp+r+OU5EjvAXvx9gVnGgcs=; b=GhGHPD2qvlwf6DPEFJ+9yvS+OHNHzTKjhuNdApz5z/GoqKX68u3AFI4wayELNU/30Y uqWwzPKCLls98voX1c3ZEoR0IIWdaw2l2YKBbZL5/bOb67lRDSQjuiuinpGDQJIzZ1Xe +zEwKIC34AdfWybCaqoHYKlTD/fTkn+g9M/dmHawF+giGaLFT+8zlSm6plTrql/TlRD9 QcwWV4t4QCd+tQTvo4iH3BTJLd8lTcKOdP8liGHVFmVCQ1HqzArTeiRLonqw+oSZMy+K rvpNNmXWQSX1PB6aOznwwoP5ooJJ0m81SD4y2DYhB2cvAyDxfpkHTcdgzl6tRNNCubf/ wK5A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1695447364; x=1696052164; 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=a5vqIfXNWliDocU8tzStcp+r+OU5EjvAXvx9gVnGgcs=; b=ZGviwdhIuONc6pmL6w3XTDZKdfUTMf/HS+//DlSRWYltw3M0ULloDB7ClE2fvvjsK1 Aih2hLSdv5yzFK5NI9FSWViwx/xVO+oczY1z09YpHOdGk7BnwppgSv4eUvvNykoa4f53 9fLcEuUpjn6g9ycfNoJVWxrPQQvlGjtm27B7nNLJVgii1RbTNtePBSdg2hZV2hYD0R7M vbAD1gxg24ijJ1VLLd9+QdA42NiPnlzDCSTTebmp6IWuBcLknFEvwB2w+xr72jsvmnjY lpTm/x4rgNhGQquNDcLRffABgcNUXo9bZR6K53m9iC1gUG3MaXSjcrlch8fcADCi0nMs kw3w== X-Gm-Message-State: AOJu0YzEEd7wmaLjEdo8lOyLrnwqxdLlRPWILOM3zSWaVZIXz9wvJaVc F8oDndo8MDNfxPIokPLnmLWIekQq8v2H X-Google-Smtp-Source: AGHT+IEsgOcl2A0UL8zGlp3FXRaWIZMQmNaQRl2Uoy/Z9jK5/KtmB2FVYeGP9zN3vSGo3xTtN8wODP+0jzxj X-Received: from irogers.svl.corp.google.com ([2620:15c:2a3:200:a376:2908:1c75:ff78]) (user=irogers job=sendgmr) by 2002:a25:264b:0:b0:d7f:8e0a:4b3f with SMTP id m72-20020a25264b000000b00d7f8e0a4b3fmr12822ybm.3.1695447363914; Fri, 22 Sep 2023 22:36:03 -0700 (PDT) Date: Fri, 22 Sep 2023 22:35:09 -0700 In-Reply-To: <20230923053515.535607-1-irogers@google.com> Message-Id: <20230923053515.535607-13-irogers@google.com> Mime-Version: 1.0 References: <20230923053515.535607-1-irogers@google.com> X-Mailer: git-send-email 2.42.0.515.g380fc7ccd1-goog Subject: [PATCH v1 12/18] perf hists browser: Avoid potential NULL dereference From: Ian Rogers To: Nathan Chancellor , Nick Desaulniers , Tom Rix , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Ian Rogers , Adrian Hunter , Yicong Yang , Jonathan Cameron , Yang Jihong , Kan Liang , Ming Wang , Huacai Chen , Sean Christopherson , K Prateek Nayak , Yanteng Si , Yuan Can , Ravi Bangoria , James Clark , Paolo Bonzini , llvm@lists.linux.dev, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, bpf@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" On other code paths browser->he_selection is NULL checked, add a missing case reported by clang-tidy. Signed-off-by: Ian Rogers --- tools/perf/ui/browsers/hists.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/perf/ui/browsers/hists.c b/tools/perf/ui/browsers/hists.c index f02ee605bbce..f4812b226818 100644 --- a/tools/perf/ui/browsers/hists.c +++ b/tools/perf/ui/browsers/hists.c @@ -3302,7 +3302,7 @@ static int evsel__hists_browse(struct evsel *evsel, i= nt nr_events, const char *h &options[nr_options], &bi->to.ms, bi->to.al_addr); - } else { + } else if (browser->he_selection) { nr_options +=3D add_annotate_opt(browser, &actions[nr_options], &options[nr_options], --=20 2.42.0.515.g380fc7ccd1-goog From nobody Fri Feb 13 14:08:25 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 7CA4ECE7A88 for ; Sat, 23 Sep 2023 05:37:06 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230190AbjIWFhK (ORCPT ); Sat, 23 Sep 2023 01:37:10 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38076 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230477AbjIWFgb (ORCPT ); Sat, 23 Sep 2023 01:36:31 -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 80A3D170D for ; Fri, 22 Sep 2023 22:36:07 -0700 (PDT) Received: by mail-yb1-xb49.google.com with SMTP id 3f1490d57ef6-d81841ef79bso4933575276.1 for ; Fri, 22 Sep 2023 22:36:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1695447366; x=1696052166; 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=lP0CZzDRsMehpIV0W6qVRwyai9STrfRNe8AVt5V6Hgk=; b=idybEtf6E9zqATWwOS3c4cWkW0lURrMrDuD/rX+I8fp3cJWjLPO2CkfrguM8a+uk3C IQjor63Wj63pgny1pbWYcvtP9qAjknFXLBG8yDKNPhqWwSYPO1qeR/JhILzKzFzmJX2/ slTEu72lGHJOm4AVZxdw3LA00ARizD2ZrAhA54YFHTnKzgmw8+MwGa6reNqiKpQa/KL8 wO8MVJufRINlovSmzKP5pcNCS1/jjQJxASIDwe6ZB8Q0ICl880Lr8K2HMjs6IX20+DZh 3ohd5H4290LLl0PNzdcmkjtOIzG6b0j7gyWGkc4x/KIxVcrBl3+JKNb7MqQkk8Cc9GwQ 9qaw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1695447366; x=1696052166; 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=lP0CZzDRsMehpIV0W6qVRwyai9STrfRNe8AVt5V6Hgk=; b=I9AHAHHJwmuuBTuxR+mBYyL5CrlgE8xaBbG+zH5Ejp/uWxbA0pL/6lfoj938eT6sYi MI/GW+l/DQAUsDzQxINJXz7phq1ztQUJb+xOgf6pbo9G+BocNXrmTrkxb2vmbJnvNu0m s1QH4qLoyHWnCKkzmiLNWB9/QDEEWdya2LtpMh6MGJ5EecJhcgS9aBtk/FlX7I65ob6f +OCIZVeZvWVxD5Q/h3aGDDHS67a6QZuFVMYts11OxF48IdWs62ms0YarDNSlwTKevvwM Spf0HpQZ+lfTdCOJhK4NidLF/VJY6BguitZ2AIMIitgIN8TxTVGWL2R2oC/lGMNKAqGx wzBw== X-Gm-Message-State: AOJu0YzR1mnl/hzGHUoFl1Eo9XrSPh+MRChXumxqbp8rSZ2aInnMd/UX uhtEJAI4f+epxfc9CguDMSooQYuDBnm2 X-Google-Smtp-Source: AGHT+IGdqprUHXLHeZlwQEnyqkBR7ouFdtc/hDEKXB+YundtzyRDtuNFuTKtwqpwNev1VOexHXen0ztDFEGv X-Received: from irogers.svl.corp.google.com ([2620:15c:2a3:200:a376:2908:1c75:ff78]) (user=irogers job=sendgmr) by 2002:a25:403:0:b0:d7a:bfcf:2d7 with SMTP id 3-20020a250403000000b00d7abfcf02d7mr11997ybe.6.1695447366091; Fri, 22 Sep 2023 22:36:06 -0700 (PDT) Date: Fri, 22 Sep 2023 22:35:10 -0700 In-Reply-To: <20230923053515.535607-1-irogers@google.com> Message-Id: <20230923053515.535607-14-irogers@google.com> Mime-Version: 1.0 References: <20230923053515.535607-1-irogers@google.com> X-Mailer: git-send-email 2.42.0.515.g380fc7ccd1-goog Subject: [PATCH v1 13/18] perf svghelper: Avoid memory leak From: Ian Rogers To: Nathan Chancellor , Nick Desaulniers , Tom Rix , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Ian Rogers , Adrian Hunter , Yicong Yang , Jonathan Cameron , Yang Jihong , Kan Liang , Ming Wang , Huacai Chen , Sean Christopherson , K Prateek Nayak , Yanteng Si , Yuan Can , Ravi Bangoria , James Clark , Paolo Bonzini , llvm@lists.linux.dev, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, bpf@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" On success path the sib_core and sib_thr values weren't being freed. Detected by clang-tidy. Signed-off-by: Ian Rogers --- tools/perf/builtin-lock.c | 1 + tools/perf/util/svghelper.c | 5 +++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/tools/perf/builtin-lock.c b/tools/perf/builtin-lock.c index d4b22313e5fc..1b40b00c9563 100644 --- a/tools/perf/builtin-lock.c +++ b/tools/perf/builtin-lock.c @@ -2463,6 +2463,7 @@ static int parse_call_stack(const struct option *opt = __maybe_unused, const char entry =3D malloc(sizeof(*entry) + strlen(tok) + 1); if (entry =3D=3D NULL) { pr_err("Memory allocation failure\n"); + free(s); return -1; } =20 diff --git a/tools/perf/util/svghelper.c b/tools/perf/util/svghelper.c index 0e4dc31c6c9c..1892e9b6aa7f 100644 --- a/tools/perf/util/svghelper.c +++ b/tools/perf/util/svghelper.c @@ -754,6 +754,7 @@ int svg_build_topology_map(struct perf_env *env) int i, nr_cpus; struct topology t; char *sib_core, *sib_thr; + int ret =3D -1; =20 nr_cpus =3D min(env->nr_cpus_online, MAX_NR_CPUS); =20 @@ -799,11 +800,11 @@ int svg_build_topology_map(struct perf_env *env) =20 scan_core_topology(topology_map, &t, nr_cpus); =20 - return 0; + ret =3D 0; =20 exit: zfree(&t.sib_core); zfree(&t.sib_thr); =20 - return -1; + return ret; } --=20 2.42.0.515.g380fc7ccd1-goog From nobody Fri Feb 13 14:08:25 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 77AB7CE7A88 for ; Sat, 23 Sep 2023 05:37:12 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230252AbjIWFhP (ORCPT ); Sat, 23 Sep 2023 01:37:15 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45650 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230209AbjIWFgg (ORCPT ); Sat, 23 Sep 2023 01:36:36 -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 102111721 for ; Fri, 22 Sep 2023 22:36:10 -0700 (PDT) Received: by mail-yb1-xb49.google.com with SMTP id 3f1490d57ef6-d852a6749baso4571138276.0 for ; Fri, 22 Sep 2023 22:36:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1695447368; x=1696052168; 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=U3pdNCB2LsormKDmRgRav6emuDoIUkf2JUNU+RA747k=; b=w9HGH3d1H4ueLvkTYf/V9zbKX8Yc6tSYtDN5zllmhvEKeshrQTVkvtl/b7xy+XuVNa EJCvipKcLdQkPyDrotUG0VTu1ggww/WhaQipU9ZZZ8Bz/EV9+D2iZW+6jReCjjnbvx9f UA0ocNNVEnxrHnOyE9w/BOVyR6+1BNAtmLFIFOvUX+9Qm3g+EyoEhl6xBnvzR369qaxL FHm5ahOwiFYaBAn83VQGLZDqsKTmPwgKFd4sfxQK88SedFMU+g03ND7S2fvbHqSBuzNx GnrH54bhndTuHF0X2zlooC/fb63utPwq6EPUXgeanq/bi104A4q4bobpPQkgwMYWxeX0 0goQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1695447368; x=1696052168; 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=U3pdNCB2LsormKDmRgRav6emuDoIUkf2JUNU+RA747k=; b=vy70BErao9YKYQHm9KQyN9y3gYfGHF0Uj2AzvntwBTlbley7l7pKqW3Yns3Kp+WAzT 7j8vNywmLBR5+8Kw+fQXFWc3/1l27aQZvsa1cyVdYhlpni5d+dTHWzROS8SQt+9dt+Q3 xkZsuEWEotFgeEqRgNVrpQ/PncqOrwePY2V5NPJ8fY4hq0IGLveecdGiIAbLevNgG6sO fm5eFXhZlaE+cIZbusP4otpOm705+UM0qnkN2gZTXu9yU7L1C42v5IJPu6hGEM27o7wp WlAbKGh7qaJsdvnvsYhai0cOz2LQIv3U2Kiu8glSYM+gT8iL8eCCPbgI+9QFrZVbLK/e lrwQ== X-Gm-Message-State: AOJu0YzAJngWiZ+nuPHzaYDrTlkpcdO3WvlN9DmLmVoREajvco6dPqNV jIJaTburFQF5jKwO35T8A2PL8eIt1i+F X-Google-Smtp-Source: AGHT+IHCnNmAl4FHX9SRP9LKagjgjeFuwIZsOgArdKHwnwaZmzbMv4PHYCjxCbJouwmMwwuksIiI1+0lADIr X-Received: from irogers.svl.corp.google.com ([2620:15c:2a3:200:a376:2908:1c75:ff78]) (user=irogers job=sendgmr) by 2002:a25:238d:0:b0:d78:3c2e:b186 with SMTP id j135-20020a25238d000000b00d783c2eb186mr10894ybj.5.1695447368466; Fri, 22 Sep 2023 22:36:08 -0700 (PDT) Date: Fri, 22 Sep 2023 22:35:11 -0700 In-Reply-To: <20230923053515.535607-1-irogers@google.com> Message-Id: <20230923053515.535607-15-irogers@google.com> Mime-Version: 1.0 References: <20230923053515.535607-1-irogers@google.com> X-Mailer: git-send-email 2.42.0.515.g380fc7ccd1-goog Subject: [PATCH v1 14/18] perf parse-events: Fix unlikely memory leak when cloning terms From: Ian Rogers To: Nathan Chancellor , Nick Desaulniers , Tom Rix , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Ian Rogers , Adrian Hunter , Yicong Yang , Jonathan Cameron , Yang Jihong , Kan Liang , Ming Wang , Huacai Chen , Sean Christopherson , K Prateek Nayak , Yanteng Si , Yuan Can , Ravi Bangoria , James Clark , Paolo Bonzini , llvm@lists.linux.dev, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, bpf@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Add missing free on an error path as detected by clang-tidy. Signed-off-by: Ian Rogers --- tools/perf/util/parse-events.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tools/perf/util/parse-events.c b/tools/perf/util/parse-events.c index c56e07bd7dd6..23c027cf20ae 100644 --- a/tools/perf/util/parse-events.c +++ b/tools/perf/util/parse-events.c @@ -2549,8 +2549,10 @@ int parse_events_term__clone(struct parse_events_ter= m **new, return new_term(new, &temp, /*str=3D*/NULL, term->val.num); =20 str =3D strdup(term->val.str); - if (!str) + if (!str) { + zfree(&temp.config); return -ENOMEM; + } return new_term(new, &temp, str, /*num=3D*/0); } =20 --=20 2.42.0.515.g380fc7ccd1-goog From nobody Fri Feb 13 14:08:25 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 1BFBFCE7A8C for ; Sat, 23 Sep 2023 05:37:31 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230231AbjIWFhd (ORCPT ); Sat, 23 Sep 2023 01:37:33 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45488 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230338AbjIWFgl (ORCPT ); Sat, 23 Sep 2023 01:36: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 957841987 for ; Fri, 22 Sep 2023 22:36:12 -0700 (PDT) Received: by mail-yb1-xb4a.google.com with SMTP id 3f1490d57ef6-d81c39acfd9so4415583276.0 for ; Fri, 22 Sep 2023 22:36:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1695447371; x=1696052171; 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=No/3+lDiHVKRYv0Xt55G/Z9T7NmlV4cHNPo/aHaSm7Q=; b=HI+b8NbgJPYE4NlauO7YWMKfK8pTBRkcjiQG+bHJZJPDGQol0H1Rq1H1qAHxi+L28b Zuytsh1Nw/nT14G2fIbmJUI8hVGrKhQZME/CVW4fYI4++Qn5QEJQ4YzWJQT8NEyOCBG+ iwfcKNnLTKm8cVKY2yiYEjbqVyjaKjQzZJl3EoepWiSBS7p1TuZL5L25fXsy0QT8L7Pz q3kr3zQoWjN8rmIMK+uTGwC5EI1fdzY0+30Gfwl0sk92XYesG1k1zUhPPzxm49ysSg14 uHpiiPOrkn1UbB8QrHWxNwLGpSS65zSlVe9abOKGFmL9dXP0NfbWt4zQ9WKFXugQ2Mgh KmeQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1695447371; x=1696052171; 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=No/3+lDiHVKRYv0Xt55G/Z9T7NmlV4cHNPo/aHaSm7Q=; b=Wh9KHBNKKENu5PdUAWIJpvY4FXQghljFJj3GH/aiHDepO7OFo1adIehSEZyaSzS4+C ynZe4samPNeWxsY4Eur6NjAz+Wk+uhLMw5SNJ4b7Wlotd2L17JiTJN+VzndRDNgnxz09 ECGNBEOpaxLeW6YcUY59dSWAVWsT4adPKNUSzO4yZ29gnG18KyWFjXnZwCwWEmvad+8G hB3gx8J3IpOyuLsIa8mN8QXm9NPbJvcraQGXdFRSSQw8s7+LcCRxos1Q/iMMrSBsNo1e ncy5uve4eQGnos2cvZ1AtabovVGyyTyvj3eXXrW/UYuoopVPynSjpFm5AwiBBc3ka/ZI rqNA== X-Gm-Message-State: AOJu0YwiwhcyTmV2/olW7RvkERLRq6dvlvBeJcYBeqMXK+VqBRYriW31 Rd+AjrceU64pgUAt93VioiTEo1czlcvY X-Google-Smtp-Source: AGHT+IGTM7Q8b3Ag4UtuwSpXj45aoEr35j9RQvQn4a5/8c4Gp7fonCA3U33uv8sbDogl59ChOBz4GGje4Wqw X-Received: from irogers.svl.corp.google.com ([2620:15c:2a3:200:a376:2908:1c75:ff78]) (user=irogers job=sendgmr) by 2002:a25:8d12:0:b0:d85:3ef:a9d3 with SMTP id n18-20020a258d12000000b00d8503efa9d3mr13253ybl.0.1695447370739; Fri, 22 Sep 2023 22:36:10 -0700 (PDT) Date: Fri, 22 Sep 2023 22:35:12 -0700 In-Reply-To: <20230923053515.535607-1-irogers@google.com> Message-Id: <20230923053515.535607-16-irogers@google.com> Mime-Version: 1.0 References: <20230923053515.535607-1-irogers@google.com> X-Mailer: git-send-email 2.42.0.515.g380fc7ccd1-goog Subject: [PATCH v1 15/18] tools api: Avoid potential double free From: Ian Rogers To: Nathan Chancellor , Nick Desaulniers , Tom Rix , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Ian Rogers , Adrian Hunter , Yicong Yang , Jonathan Cameron , Yang Jihong , Kan Liang , Ming Wang , Huacai Chen , Sean Christopherson , K Prateek Nayak , Yanteng Si , Yuan Can , Ravi Bangoria , James Clark , Paolo Bonzini , llvm@lists.linux.dev, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, bpf@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" io__getline will free the line on error but it doesn't clear the out argument. This may lead to the line being freed twice, like in tools/perf/util/srcline.c as detected by clang-tidy. Signed-off-by: Ian Rogers --- tools/lib/api/io.h | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/lib/api/io.h b/tools/lib/api/io.h index 9fc429d2852d..a77b74c5fb65 100644 --- a/tools/lib/api/io.h +++ b/tools/lib/api/io.h @@ -180,6 +180,7 @@ static inline ssize_t io__getline(struct io *io, char *= *line_out, size_t *line_l return line_len; err_out: free(line); + *line_out =3D NULL; return -ENOMEM; } =20 --=20 2.42.0.515.g380fc7ccd1-goog From nobody Fri Feb 13 14:08:25 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 140BCCE7A88 for ; Sat, 23 Sep 2023 05:37:45 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230326AbjIWFhs (ORCPT ); Sat, 23 Sep 2023 01:37:48 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42166 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230371AbjIWFg6 (ORCPT ); Sat, 23 Sep 2023 01:36:58 -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 579CA1999 for ; Fri, 22 Sep 2023 22:36:14 -0700 (PDT) Received: by mail-yw1-x1149.google.com with SMTP id 00721157ae682-59c081a44afso54153727b3.3 for ; Fri, 22 Sep 2023 22:36:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1695447373; x=1696052173; 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=yUz0aBRZdXV/HoyCWN8uhHLmcq/r3toZQGl1fsyAqS4=; b=OkXbC3XLL2fncEKVJfpjTFy736KtharUkMy6ukL593J21+rL5OaMLbdMbdnnKTnyDn ogUHpB+aqf+M6lcW7BtzlFyyjLWUxHlOOHuc2s5ZGH+v+SYF/hqraalOEx40Ur8g0XTM XCsW2qdqSRQH7IUbQp+L3oz7vtlgtxPx5HNWLR8dotRkwVrT+++AR/JC/JDB854fR6uC yw3/OustjyAh3SJeGo/+8KR7i6o5YFmRllDrN8tQOQGROryy7nfEQ9k8V18JRHZe+99M qhGS9s6onDyFnq0shMQINInk2p2WN4V/2Lu0Unei2OJGkfeGMfz2TBBB8LTAPeyge9sr Da5Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1695447373; x=1696052173; 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=yUz0aBRZdXV/HoyCWN8uhHLmcq/r3toZQGl1fsyAqS4=; b=e22lf4Q6srpX3Oy5K7qlIlXNDHa23EzfQlX8fmPZJlswzfW4H90RIHBuSMdYZm86SF FMxAjV3CH1YE+5U5985WCGj1v8CCbMD6pvP19P2BJY2H3DZbqg0GjQ7OlvtY/CPKKtsS 824VOXb1eQZvVN32sIOBZ7C4P7QSP7S69oHQ/jGTq9LzMQMlto2wU56tYb6Yg+5Zl1Yz JjzGvr79+fhjBNzWxyQ4IXQgxAL5r4Nf/GURojbsebeDCSDhkJ0N7aD8m5B87jJXMxOY sTofx4ONEGIptRlLIqFubLnF+yNDL0/UgvN1s82O+GE/UYa+5DT1F/TvFozlp8R8sBHL BvYA== X-Gm-Message-State: AOJu0YzriH7Eew0pmMdXjC8S0ULqE/otPB52E8RUP9FRsl7SatRAxtt3 T44sxFdEirKUEepmn41dYe9Cglz2/7H4 X-Google-Smtp-Source: AGHT+IGBnACIcG/dQO74ULFKTr6l4nsrfL6I5S655YMfy6NLsr0dzVgpJAVXl+mmfzsp/SPWCJX2H8Efcow9 X-Received: from irogers.svl.corp.google.com ([2620:15c:2a3:200:a376:2908:1c75:ff78]) (user=irogers job=sendgmr) by 2002:a81:451d:0:b0:592:7a39:e4b4 with SMTP id s29-20020a81451d000000b005927a39e4b4mr18996ywa.6.1695447372993; Fri, 22 Sep 2023 22:36:12 -0700 (PDT) Date: Fri, 22 Sep 2023 22:35:13 -0700 In-Reply-To: <20230923053515.535607-1-irogers@google.com> Message-Id: <20230923053515.535607-17-irogers@google.com> Mime-Version: 1.0 References: <20230923053515.535607-1-irogers@google.com> X-Mailer: git-send-email 2.42.0.515.g380fc7ccd1-goog Subject: [PATCH v1 16/18] perf trace-event-info: Avoid passing NULL value to closedir From: Ian Rogers To: Nathan Chancellor , Nick Desaulniers , Tom Rix , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Ian Rogers , Adrian Hunter , Yicong Yang , Jonathan Cameron , Yang Jihong , Kan Liang , Ming Wang , Huacai Chen , Sean Christopherson , K Prateek Nayak , Yanteng Si , Yuan Can , Ravi Bangoria , James Clark , Paolo Bonzini , llvm@lists.linux.dev, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, bpf@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" If opendir failed then closedir was passed NULL which is erroneous. Caught by clang-tidy. Signed-off-by: Ian Rogers --- tools/perf/util/trace-event-info.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tools/perf/util/trace-event-info.c b/tools/perf/util/trace-eve= nt-info.c index 319ccf09a435..c8755679281e 100644 --- a/tools/perf/util/trace-event-info.c +++ b/tools/perf/util/trace-event-info.c @@ -313,7 +313,8 @@ static int record_event_files(struct tracepoint_path *t= ps) } err =3D 0; out: - closedir(dir); + if (dir) + closedir(dir); put_tracing_file(path); =20 return err; --=20 2.42.0.515.g380fc7ccd1-goog From nobody Fri Feb 13 14:08:25 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 3D34BCE7A8C for ; Sat, 23 Sep 2023 05:37:36 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229908AbjIWFhj (ORCPT ); Sat, 23 Sep 2023 01:37:39 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45786 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230381AbjIWFhB (ORCPT ); Sat, 23 Sep 2023 01:37:01 -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 3048619BA for ; Fri, 22 Sep 2023 22:36:16 -0700 (PDT) Received: by mail-yw1-x1149.google.com with SMTP id 00721157ae682-594e1154756so52523897b3.2 for ; Fri, 22 Sep 2023 22:36:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1695447376; x=1696052176; 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=BQyzyxD68ePpbOWMRqgJmncvVxKbUt7ya9UE8v2z5vg=; b=zPqo8PoD8evK8TqV6j1+iwS4jSrRU5frkSpmA58JOKbjKM6pnXKwUSIP+57xeXfUEl F2FzbU6M20H0i0yjry6PASkGUY/KLUHXUD+Z6h+dsg2PeIaI9/aSebTl/SSnSiyAxUbj Xwwc9mgm2Sv8KDz6YSbeYGcT4fnmdhm2jKJsUPOMqg95l/s28hix48nNcm/lwUTuzgM8 +Aoinc49neQTI6U4A8j6Al79sPiZpj5Lk+BkMlsqVpwIAXmAQcUMuOx8jlMVOizMhMiK GpS0fLjEGyRr7OoW2zgExZW+NbKrVDGVI/QpY9uehH4a6wZJ6Wt0meRRmYdHJgasmCNT LomA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1695447376; x=1696052176; 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=BQyzyxD68ePpbOWMRqgJmncvVxKbUt7ya9UE8v2z5vg=; b=di2pibBlnJExNL8vEPJ+fALHoOXUH+be6jAg0gHid+ZzxG8KjEckJlcShEhmoIg+sm ot+Kq7K6MNgTmeXBi/IIxnSTZ+j2sk8G+E8bzdmeCWEnOTsPZ+gj7X3LpsGL+tFY0ltO UvJ7L9puLIEp//Q4X2dtPYKUsZHmMrIOIPUmD0ioJnDtMf3UENWAm6N/FVJ+l4tlpCNK rKk+yh4ZgBecRMUFEBt1nrGCxLZdNak2J9FsV+JL2fKxRMmtusOgPQUKJhkgM4W3UNKC LGHmmAbJwFcy51rzMPCDK/uwLDOSD7gu0BTMYWMEH8UbdhwOoRq1Hn5lP94GwGO3MDdq qeLA== X-Gm-Message-State: AOJu0YwCG7doasL1E1Oira6zXGymJ44TVbGEtkAie9vqzCIgEbj1Og8e 1cpGeU3xpDxniZbO4xqhg+9gm64eHZjR X-Google-Smtp-Source: AGHT+IH1/8N6KXKbsq0cgMy7XxhDM7wiUKaAcfle1eqtAKeK0B+VxM29iufwiC2RBjgnCg6nNUi1fgZXeX2a X-Received: from irogers.svl.corp.google.com ([2620:15c:2a3:200:a376:2908:1c75:ff78]) (user=irogers job=sendgmr) by 2002:a81:e344:0:b0:59b:e684:3c7a with SMTP id w4-20020a81e344000000b0059be6843c7amr20581ywl.4.1695447375211; Fri, 22 Sep 2023 22:36:15 -0700 (PDT) Date: Fri, 22 Sep 2023 22:35:14 -0700 In-Reply-To: <20230923053515.535607-1-irogers@google.com> Message-Id: <20230923053515.535607-18-irogers@google.com> Mime-Version: 1.0 References: <20230923053515.535607-1-irogers@google.com> X-Mailer: git-send-email 2.42.0.515.g380fc7ccd1-goog Subject: [PATCH v1 17/18] perf header: Fix various error path memory leaks From: Ian Rogers To: Nathan Chancellor , Nick Desaulniers , Tom Rix , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Ian Rogers , Adrian Hunter , Yicong Yang , Jonathan Cameron , Yang Jihong , Kan Liang , Ming Wang , Huacai Chen , Sean Christopherson , K Prateek Nayak , Yanteng Si , Yuan Can , Ravi Bangoria , James Clark , Paolo Bonzini , llvm@lists.linux.dev, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, bpf@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Memory leaks were detected by clang-tidy. Signed-off-by: Ian Rogers --- tools/perf/util/header.c | 63 ++++++++++++++++++++++++---------------- 1 file changed, 38 insertions(+), 25 deletions(-) diff --git a/tools/perf/util/header.c b/tools/perf/util/header.c index d812e1e371a7..41b78e40b22b 100644 --- a/tools/perf/util/header.c +++ b/tools/perf/util/header.c @@ -2598,8 +2598,10 @@ static int process_cpu_topology(struct feat_fd *ff, = void *data __maybe_unused) goto error; =20 /* include a NULL character at the end */ - if (strbuf_add(&sb, str, strlen(str) + 1) < 0) + if (strbuf_add(&sb, str, strlen(str) + 1) < 0) { + free(str); goto error; + } size +=3D string_size(str); free(str); } @@ -2617,8 +2619,10 @@ static int process_cpu_topology(struct feat_fd *ff, = void *data __maybe_unused) goto error; =20 /* include a NULL character at the end */ - if (strbuf_add(&sb, str, strlen(str) + 1) < 0) + if (strbuf_add(&sb, str, strlen(str) + 1) < 0) { + free(str); goto error; + } size +=3D string_size(str); free(str); } @@ -2681,8 +2685,10 @@ static int process_cpu_topology(struct feat_fd *ff, = void *data __maybe_unused) goto error; =20 /* include a NULL character at the end */ - if (strbuf_add(&sb, str, strlen(str) + 1) < 0) + if (strbuf_add(&sb, str, strlen(str) + 1) < 0) { + free(str); goto error; + } size +=3D string_size(str); free(str); } @@ -2736,10 +2742,9 @@ static int process_numa_topology(struct feat_fd *ff,= void *data __maybe_unused) goto error; =20 n->map =3D perf_cpu_map__new(str); + free(str); if (!n->map) goto error; - - free(str); } ff->ph->env.nr_numa_nodes =3D nr; ff->ph->env.numa_nodes =3D nodes; @@ -2913,10 +2918,10 @@ static int process_cache(struct feat_fd *ff, void *= data __maybe_unused) return -1; =20 for (i =3D 0; i < cnt; i++) { - struct cpu_cache_level c; + struct cpu_cache_level *c =3D &caches[i]; =20 #define _R(v) \ - if (do_read_u32(ff, &c.v))\ + if (do_read_u32(ff, &c->v)) \ goto out_free_caches; \ =20 _R(level) @@ -2926,22 +2931,25 @@ static int process_cache(struct feat_fd *ff, void *= data __maybe_unused) #undef _R =20 #define _R(v) \ - c.v =3D do_read_string(ff); \ - if (!c.v) \ - goto out_free_caches; + c->v =3D do_read_string(ff); \ + if (!c->v) \ + goto out_free_caches; \ =20 _R(type) _R(size) _R(map) #undef _R - - caches[i] =3D c; } =20 ff->ph->env.caches =3D caches; ff->ph->env.caches_cnt =3D cnt; return 0; out_free_caches: + for (i =3D 0; i < cnt; i++) { + free(caches[i].type); + free(caches[i].size); + free(caches[i].map); + } free(caches); return -1; } @@ -3585,18 +3593,16 @@ static int perf_header__adds_write(struct perf_head= er *header, struct feat_copier *fc) { int nr_sections; - struct feat_fd ff; + struct feat_fd ff =3D { + .fd =3D fd, + .ph =3D header, + }; struct perf_file_section *feat_sec, *p; int sec_size; u64 sec_start; int feat; int err; =20 - ff =3D (struct feat_fd){ - .fd =3D fd, - .ph =3D header, - }; - nr_sections =3D bitmap_weight(header->adds_features, HEADER_FEAT_BITS); if (!nr_sections) return 0; @@ -3623,6 +3629,7 @@ static int perf_header__adds_write(struct perf_header= *header, err =3D do_write(&ff, feat_sec, sec_size); if (err < 0) pr_debug("failed to write feature section\n"); + free(ff.buf); free(feat_sec); return err; } @@ -3630,11 +3637,11 @@ static int perf_header__adds_write(struct perf_head= er *header, int perf_header__write_pipe(int fd) { struct perf_pipe_file_header f_header; - struct feat_fd ff; + struct feat_fd ff =3D { + .fd =3D fd, + }; int err; =20 - ff =3D (struct feat_fd){ .fd =3D fd }; - f_header =3D (struct perf_pipe_file_header){ .magic =3D PERF_MAGIC, .size =3D sizeof(f_header), @@ -3645,7 +3652,7 @@ int perf_header__write_pipe(int fd) pr_debug("failed to write perf pipe header\n"); return err; } - + free(ff.buf); return 0; } =20 @@ -3658,11 +3665,12 @@ static int perf_session__do_write_header(struct per= f_session *session, struct perf_file_attr f_attr; struct perf_header *header =3D &session->header; struct evsel *evsel; - struct feat_fd ff; + struct feat_fd ff =3D { + .fd =3D fd, + }; u64 attr_offset; int err; =20 - ff =3D (struct feat_fd){ .fd =3D fd}; lseek(fd, sizeof(f_header), SEEK_SET); =20 evlist__for_each_entry(session->evlist, evsel) { @@ -3670,6 +3678,7 @@ static int perf_session__do_write_header(struct perf_= session *session, err =3D do_write(&ff, evsel->core.id, evsel->core.ids * sizeof(u64)); if (err < 0) { pr_debug("failed to write perf header\n"); + free(ff.buf); return err; } } @@ -3695,6 +3704,7 @@ static int perf_session__do_write_header(struct perf_= session *session, err =3D do_write(&ff, &f_attr, sizeof(f_attr)); if (err < 0) { pr_debug("failed to write perf header attribute\n"); + free(ff.buf); return err; } } @@ -3705,8 +3715,10 @@ static int perf_session__do_write_header(struct perf= _session *session, =20 if (at_exit) { err =3D perf_header__adds_write(header, evlist, fd, fc); - if (err < 0) + if (err < 0) { + free(ff.buf); return err; + } } =20 f_header =3D (struct perf_file_header){ @@ -3728,6 +3740,7 @@ static int perf_session__do_write_header(struct perf_= session *session, =20 lseek(fd, 0, SEEK_SET); err =3D do_write(&ff, &f_header, sizeof(f_header)); + free(ff.buf); if (err < 0) { pr_debug("failed to write perf header\n"); return err; --=20 2.42.0.515.g380fc7ccd1-goog From nobody Fri Feb 13 14:08:25 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 EDE87CE7A88 for ; Sat, 23 Sep 2023 05:37:40 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229660AbjIWFho (ORCPT ); Sat, 23 Sep 2023 01:37:44 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45604 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230158AbjIWFhH (ORCPT ); Sat, 23 Sep 2023 01:37:07 -0400 Received: from mail-yb1-xb49.google.com (mail-yb1-xb49.google.com [IPv6:2607:f8b0:4864:20::b49]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D59091A1 for ; Fri, 22 Sep 2023 22:36:18 -0700 (PDT) Received: by mail-yb1-xb49.google.com with SMTP id 3f1490d57ef6-d852a6749bcso4199320276.0 for ; Fri, 22 Sep 2023 22:36:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1695447378; x=1696052178; 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=ywZDu0emPkmJVQQeOexJ/0NU/+t2nDPbGZwUB+L0bX8=; b=Y8jSrrZv3uPNR16NU6PIlHK/E0c2RkCwOxr6RioM8kd9ZLc1L3eoIH+6EqTxn+rUPj UDAUB2SyaQhQTUDFR9YUmWrNSb7cJd9JZ9M+pF41SAr5jTVJcW4Eep8p1vMLcexGDQlK +GMR9mrHWPgFoyqFaUKBh0nWaEtpg/scq0y9rmgqoKR+P3d0iWU/lrtEwFpxNdE/DiBL wNIq0fv6BQ1FagEGVOq2Fe3uoBnTFDb+JHF5QdBLYNmHOmuF9ccuexW7m98KCKvnXWq2 DVIrirAofJDREV7prSR3DwQs1SLUxu45g3DnWxZqLqs8wcWRAQPD6VbGejFconNQzNUj BdqQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1695447378; x=1696052178; 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=ywZDu0emPkmJVQQeOexJ/0NU/+t2nDPbGZwUB+L0bX8=; b=mv0wdtQ1gbRK3fpq/nr7U1QtqeDRtIk7uvTrOgh+x/vOJEPENGfGaMXct6m3SXPtEd Hrg5wz0+VIRFrMVSUWoQJ7Dk76uv6YaImLybj1NNw2tFbCV41r35pNPN2tHVHaZWWykN ucSfY+q+l6iWsdKlP6a9jVv7JFqdaQqsE9FI5bBeoySYxQS7h7+edLQRP8SkNeEQaL5h omcyERUdHQCoMIXcPWZnV4qt4KMTlGxQH+XMU+ol+D4qVb3UxvmhUe5NzBvnCU0pliM8 /sL/SY53hvotpQg8Guh5hyROCKPZ2Dvo263hr4NAS6wKAS8XbXgPxAlbVeYkmJ0tTxH9 9GLQ== X-Gm-Message-State: AOJu0YxWJ1LFtfLaCw4SB6fdFTutirG8iybaoid48qAWPfxyEizO1Ssv Ow4WNut/qHEqsXoJ5W9hORAzPasJDFpG X-Google-Smtp-Source: AGHT+IGTu58JilIBfDpSy7tMqNuBcfjoioDdjm+UokXTsJGVIl9AVdtE2VsgkJoMSD2sydC3Nw35sn/h8sOx X-Received: from irogers.svl.corp.google.com ([2620:15c:2a3:200:a376:2908:1c75:ff78]) (user=irogers job=sendgmr) by 2002:a25:6942:0:b0:d81:68ac:e046 with SMTP id e63-20020a256942000000b00d8168ace046mr11989ybc.12.1695447377882; Fri, 22 Sep 2023 22:36:17 -0700 (PDT) Date: Fri, 22 Sep 2023 22:35:15 -0700 In-Reply-To: <20230923053515.535607-1-irogers@google.com> Message-Id: <20230923053515.535607-19-irogers@google.com> Mime-Version: 1.0 References: <20230923053515.535607-1-irogers@google.com> X-Mailer: git-send-email 2.42.0.515.g380fc7ccd1-goog Subject: [PATCH v1 18/18] perf bpf_counter: Fix a few memory leaks From: Ian Rogers To: Nathan Chancellor , Nick Desaulniers , Tom Rix , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Ian Rogers , Adrian Hunter , Yicong Yang , Jonathan Cameron , Yang Jihong , Kan Liang , Ming Wang , Huacai Chen , Sean Christopherson , K Prateek Nayak , Yanteng Si , Yuan Can , Ravi Bangoria , James Clark , Paolo Bonzini , llvm@lists.linux.dev, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, bpf@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Memory leaks were detected by clang-tidy. Signed-off-by: Ian Rogers --- tools/perf/util/bpf_counter.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tools/perf/util/bpf_counter.c b/tools/perf/util/bpf_counter.c index 6732cbbcf9b3..7f9b0e46e008 100644 --- a/tools/perf/util/bpf_counter.c +++ b/tools/perf/util/bpf_counter.c @@ -104,7 +104,7 @@ static int bpf_program_profiler_load_one(struct evsel *= evsel, u32 prog_id) struct bpf_prog_profiler_bpf *skel; struct bpf_counter *counter; struct bpf_program *prog; - char *prog_name; + char *prog_name =3D NULL; int prog_fd; int err; =20 @@ -155,10 +155,12 @@ static int bpf_program_profiler_load_one(struct evsel= *evsel, u32 prog_id) assert(skel !=3D NULL); counter->skel =3D skel; list_add(&counter->list, &evsel->bpf_counter_list); + free(prog_name); close(prog_fd); return 0; err_out: bpf_prog_profiler_bpf__destroy(skel); + free(prog_name); free(counter); close(prog_fd); return -1; @@ -180,6 +182,7 @@ static int bpf_program_profiler__load(struct evsel *evs= el, struct target *target (*p !=3D '\0' && *p !=3D ',')) { pr_err("Failed to parse bpf prog ids %s\n", target->bpf_str); + free(bpf_str_); return -1; } =20 --=20 2.42.0.515.g380fc7ccd1-goog