Received: by 2002:a05:7412:da14:b0:e2:908c:2ebd with SMTP id fe20csp2001433rdb; Mon, 9 Oct 2023 09:23:00 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGboPEmRCa1d0Zl1QCb/jho39RELO0gIQcW1eXtHwpDZ+sBWoZFxwHowmONQJnhjw7pKv3/ X-Received: by 2002:a17:902:e809:b0:1c7:1fbc:ba02 with SMTP id u9-20020a170902e80900b001c71fbcba02mr16708936plg.47.1696868579933; Mon, 09 Oct 2023 09:22:59 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1696868579; cv=none; d=google.com; s=arc-20160816; b=EpvMIfioQyZGWBzjtqiej0HQ0nLAfW/1weoH2K5wkQw9haUTEU/vQbe6SSifeV7s2k 8X69A8BlSZLlqIii00GA2F0rikR0g5VYvc4jnQNYFsjpYNTMekyXKQpQ5J3kYT/eHgNI 87qgmUFpVfLKBBMamHf/VDRi1s3EvnhkWQMO+9MYBvj+t9cWNqtE/U8qkO5Qo+QhS8Jx aUGdkRMx0vyorpuzstTfIGk8rYVBcwfzd7YwKafP7nrf7RqfGdyojnMolGS+8oV/oE1C 04NjZvSLyk8DXBNcPQClhcnBtENPIUcBzL4HY7bsEamB8azU/6QtLaEp/ksrTdhIss9H RcBg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:cc:to:subject :message-id:date:from:in-reply-to:references:mime-version :dkim-signature; bh=eN5/tm1CszkBi5CACTQEAKrzQx6IrUZ94+b5uVmgWK4=; fh=3XBvd5tVoHgZQNsIrs8io5yGhaXHV9FXuQecuZ7UYG4=; b=GaIBikuqosbHsr6aHWsAv9sx28SZ43c2ALTFh6p6hoYL40ZmLeJXoyfKDM+cUJVtl4 i+kBQp6CuB9DwRBX2A3y1Avrn51X+6oqNwB2UJDA+7l3FdQRL8p7jifD+PNUmW4vnEVV RmD07QBEtBIdL07tJWDvJM8fijcFwCWQyz/OOdPhUwMuildgFfdXrzB3Sd2HmIBXUdoS ZVCPj71Z8J4EUCvKRiI034hHbHvXAyEBbI+C3mmMfSOAqLqxCcfG1RTFqxXDoYWByxAs 5FseZ6eaz2hxQeeG+wseaUyhXPTaKRnphFrNHUaQumRCVFp0EsFLJvs/WJYrVTC0sgju XwVQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20230601 header.b=SqFHNkgB; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.35 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from groat.vger.email (groat.vger.email. [23.128.96.35]) by mx.google.com with ESMTPS id t13-20020a1709027fcd00b001c62139b16esi1018337plb.4.2023.10.09.09.22.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 09 Oct 2023 09:22:59 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.35 as permitted sender) client-ip=23.128.96.35; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20230601 header.b=SqFHNkgB; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.35 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by groat.vger.email (Postfix) with ESMTP id CCC498044417; Mon, 9 Oct 2023 09:22:55 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at groat.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1376782AbjJIQWp (ORCPT + 99 others); Mon, 9 Oct 2023 12:22:45 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43642 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233506AbjJIQWo (ORCPT ); Mon, 9 Oct 2023 12:22:44 -0400 Received: from mail-lf1-x130.google.com (mail-lf1-x130.google.com [IPv6:2a00:1450:4864:20::130]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A8B349E for ; Mon, 9 Oct 2023 09:22:42 -0700 (PDT) Received: by mail-lf1-x130.google.com with SMTP id 2adb3069b0e04-5068b69f4aeso8131e87.0 for ; Mon, 09 Oct 2023 09:22:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1696868561; x=1697473361; darn=vger.kernel.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=eN5/tm1CszkBi5CACTQEAKrzQx6IrUZ94+b5uVmgWK4=; b=SqFHNkgBeXgHIPfic/jFE9FbmCdCJAfN6Pu/ohiAyuUxawDFacdlBWr+QIqyyWIqKA 0QLYo7Fba0H0+mpiTOZ7iTHGkv/MWa3kJUK6lataBEzSMMrkB22FG8SySqzXmf7QV6Gp 2nMd/JtsK0ec18dlLahHRubzzs/I6Mwysh73lZAgnD7INV3AVdAISwt3gYSkMb6uBdgP 2BkeKA6tWbKQ6wi74Nl/xRBzatJqUmiM29DKD3uAfw+tg3pX8NBm9dpRUX4JDdCL82co AhONIhI5py9UaAb8XaxI5R6TEbEUNKCTayCHNMPyDGgVtrDQOOvytryN9WlUXpPBKnOu 6nKg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696868561; x=1697473361; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=eN5/tm1CszkBi5CACTQEAKrzQx6IrUZ94+b5uVmgWK4=; b=wJZ4p1akMYCzWMjfNB4+zI8GWl/QnM1lCfFmlOz804bbEVdZ220/UIaGHvQi8462zi j1fsIB5WqPCvMa8ZfKGA1oA78Z4OFSboCyICr2ueHRD0K2Akdx/7pIuPz+6150VjjDsp q4VPyF3fnjSUiODgWcsNN8bdc3J+6xMVZQElgkVgDPMcYrM0uC2KbZ8ixWTMTRgjQaYM M3hrDY9hD0ThKzmp4ISldAIuo/jlxQcsyCEeCnHBKyPXKGIQ9j0DKAFGXw6imANuXG0D ijF5vllJumkNRQiCLFTU2QzEtdTF6ZiNwmvAqpYPWGS+6ty7ZI0SI1x3tgNVXRjWe6Yv F6Fg== X-Gm-Message-State: AOJu0YwaSjPMVZz0cjliW6YIclUqR6jlvL03Im1orde8B3b/lS61x0T7 Tu8MqCimaMtQ/Ww0KY76kPoU3+4Mm6KEVhZjjukAmA== X-Received: by 2002:ac2:558c:0:b0:502:cdb6:f316 with SMTP id v12-20020ac2558c000000b00502cdb6f316mr227512lfg.3.1696868560649; Mon, 09 Oct 2023 09:22:40 -0700 (PDT) MIME-Version: 1.0 References: <20231005230851.3666908-1-irogers@google.com> <20231005230851.3666908-7-irogers@google.com> In-Reply-To: From: Ian Rogers Date: Mon, 9 Oct 2023 09:22:29 -0700 Message-ID: Subject: Re: [PATCH v2 06/18] perf buildid-cache: Fix use of uninitialized value To: Namhyung Kim Cc: Nathan Chancellor , Nick Desaulniers , Tom Rix , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Mark Rutland , Alexander Shishkin , Jiri Olsa , Adrian Hunter , Yicong Yang , Jonathan Cameron , Yang Jihong , Kan Liang , Ming Wang , Huacai Chen , Sean Christopherson , K Prateek Nayak , Yanteng Si , Yuan Can , Ravi Bangoria , James Clark , llvm@lists.linux.dev, linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, bpf@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-4.8 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_SBL_CSS,SPF_HELO_NONE,SPF_PASS, USER_IN_DEF_DKIM_WL autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on groat.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (groat.vger.email [0.0.0.0]); Mon, 09 Oct 2023 09:22:56 -0700 (PDT) On Sun, Oct 8, 2023 at 11:06=E2=80=AFPM Namhyung Kim = wrote: > > On Thu, Oct 5, 2023 at 4:09=E2=80=AFPM Ian Rogers wr= ote: > > > > 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-bu= ildid-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; > > > > - if (dso__build_id_filename(dso, filename, sizeof(filename), fal= se) && > > - filename__read_build_id(filename, &bid) =3D=3D -1) { > > + if (!dso__build_id_filename(dso, filename, sizeof(filename), fa= lse)) > > + return true; > > This won't print anything and ignore the file which changes > the existing behavior. But if it fails to read the build-id, I > don't think there is not much we can do with it. IIUC the > original intention of -M/--missing option is to list files that > have a build-id but it's not in the build-id cache. So maybe > it's ok to silently ignore it. If getting the build id filename fails then 'bid' is uninitialized and I don't think there is an expected behavior for what a memcmp on uninitialized memory should do - we may hope that it fails and get the pr_warning in the existing code, but that warning depends on reading the filename too. This was the smallest change to not change behavior but to avoid the undefined behavior (bugs) in the code. It could be a signal the code needs to be worked on more. Thanks, Ian > Thanks, > Namhyung > > > > + > > + if (filename__read_build_id(filename, &bid) =3D=3D -1) { > > if (errno =3D=3D ENOENT) > > return false; > > > > -- > > 2.42.0.609.gbb76f46606-goog > >