From nobody Mon Feb 9 01:29:54 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 8CB6BC7EE45 for ; Thu, 8 Jun 2023 23:31:24 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237538AbjFHXbW (ORCPT ); Thu, 8 Jun 2023 19:31:22 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47278 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237551AbjFHXah (ORCPT ); Thu, 8 Jun 2023 19:30:37 -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 DC09F3592 for ; Thu, 8 Jun 2023 16:29:59 -0700 (PDT) Received: by mail-yb1-xb4a.google.com with SMTP id 3f1490d57ef6-ba87bd29e9dso1648318276.3 for ; Thu, 08 Jun 2023 16:29:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20221208; t=1686266999; x=1688858999; h=to:from:subject:references:mime-version:message-id:in-reply-to:date :from:to:cc:subject:date:message-id:reply-to; bh=lkToW/IxAxIJSXDgl3LW19tfDO+EnTd79xT+CYyJZYQ=; b=ePUYqN7ZPxjl/iomWSLKPkhrn5dsM9dC2KVd28TGs3cL6teDeifYm9LxIGIKjrkZl9 BlV/0s3aD9lr9ZuGvZyfqd1lG3pKdJInvG28YBH7LQOlWwvYUdbo3BBKD9CeGAFtobIR zG+MK/W+kqJLQ+UY7cv7Z6RyZ25OSeLp+kvE0hYaTsSdRu9Hc+FR/1Q9+uc43YG+QYi/ VN6cgDX6cbI4P7pKQeRHEmb+q4LFZO5aVbVIYm7TL15AwTwKMtl5GnWYKXfn9m/v/PLY ZopqDHGQq1KlHwKMmX8ens3+2sZP/wlvgK6rTBCndAz8G+J+TsKDaDYFA4qrEUT+eyXd UnNw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686266999; x=1688858999; 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=lkToW/IxAxIJSXDgl3LW19tfDO+EnTd79xT+CYyJZYQ=; b=fEMhH62JjYdV04JF3LkjW1+nupVi+bqPk9U1oTJa8TEqUmH0Xoi96oeWCQIBj8dLuI BpilNF1vNY1PHPnQGNg0wjg0Ishq9yISVzKg/juPD+JitfPIKMFxp5BpOK2jzt90bNuD TWbrO8TZn+bPOhZPkWxYPUCb/LbTtio7BLbRg/7TSOlvvdBPwlhSFkWeWC/5Z/A2ixg2 X8aBKynxJzEVG4ZFgcKYZgX0U8jIQijRCBTuX3ms9LUw2U8m2s1ARgTa/Mt53Gz9GtDi 7uqIpcdsyFMQtYWa2nJU/Vai7QBAfIHwMksURPvrFDolC4IpNrBdQtG0lVAjuG/xbanO DYFA== X-Gm-Message-State: AC+VfDyTYoFqVLU43bDW5n7G8PEkXbx70b1sVsCRTPhDeeqBHEIPAxtw a2yP1kHmEJuyPLvrTqjsQRo/GcAIWEvZ X-Google-Smtp-Source: ACHHUZ5tPuMIGgflPqSJvwXISvhb5nmU8SoragnEA/O5sf2CLUp8sLIrrQXOwOYy3OBX9Za0AGMnCWLsX7EO X-Received: from irogers.svl.corp.google.com ([2620:15c:2d4:203:c3e5:ebc6:61e5:c73f]) (user=irogers job=sendgmr) by 2002:a25:ad8e:0:b0:bb1:f26d:b18d with SMTP id z14-20020a25ad8e000000b00bb1f26db18dmr584028ybi.13.1686266999057; Thu, 08 Jun 2023 16:29:59 -0700 (PDT) Date: Thu, 8 Jun 2023 16:28:16 -0700 In-Reply-To: <20230608232823.4027869-1-irogers@google.com> Message-Id: <20230608232823.4027869-20-irogers@google.com> Mime-Version: 1.0 References: <20230608232823.4027869-1-irogers@google.com> X-Mailer: git-send-email 2.41.0.162.gfafddb0af9-goog Subject: [PATCH v2 19/26] perf machine: Don't leak module maps From: Ian Rogers To: John Garry , Will Deacon , James Clark , Mike Leach , Leo Yan , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , Ian Rogers , Adrian Hunter , Suzuki K Poulose , "Naveen N. Rao" , Kan Liang , German Gomez , Ali Saidi , Jing Zhang , Athira Rajeev , Miguel Ojeda , ye xingchen , Liam Howlett , Dmitrii Dolgov <9erthalion6@gmail.com>, Yang Jihong , K Prateek Nayak , Changbin Du , Ravi Bangoria , Sean Christopherson , Andi Kleen , "Steinar H. Gunderson" , Yuan Can , Brian Robbins , liuwenyu , Ivan Babrou , Fangrui Song , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-perf-users@vger.kernel.org, coresight@lists.linaro.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" machine__addnew_module_map requires a put on its result. Add this and narrow the scope of map to make the correctness more obvious. This leak was caught with leak sanitizer and the reference count checker. Signed-off-by: Ian Rogers --- tools/perf/util/machine.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/perf/util/machine.c b/tools/perf/util/machine.c index f8e6c07f0048..359ef6b4e840 100644 --- a/tools/perf/util/machine.c +++ b/tools/perf/util/machine.c @@ -1797,7 +1797,6 @@ static int machine__process_kernel_mmap_event(struct = machine *machine, struct extra_kernel_map *xm, struct build_id *bid) { - struct map *map; enum dso_space_type dso_space; bool is_kernel_mmap; const char *mmap_name =3D machine->mmap_name; @@ -1823,8 +1822,8 @@ static int machine__process_kernel_mmap_event(struct = machine *machine, } if (xm->name[0] =3D=3D '/' || (!is_kernel_mmap && xm->name[0] =3D=3D '[')) { - map =3D machine__addnew_module_map(machine, xm->start, - xm->name); + struct map *map =3D machine__addnew_module_map(machine, xm->start, xm->n= ame); + if (map =3D=3D NULL) goto out_problem; =20 @@ -1833,6 +1832,7 @@ static int machine__process_kernel_mmap_event(struct = machine *machine, if (build_id__is_defined(bid)) dso__set_build_id(map__dso(map), bid); =20 + map__put(map); } else if (is_kernel_mmap) { const char *symbol_name =3D xm->name + strlen(mmap_name); /* --=20 2.41.0.162.gfafddb0af9-goog