Received: by 2002:a05:7412:da14:b0:e2:908c:2ebd with SMTP id fe20csp2007607rdb; Mon, 9 Oct 2023 09:33:57 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGbDtkb5zt7/CUfjS+FY5Yuxjh/1sQwnWtSUKsjAjbFzABZ2UeWYFQgFJrynTzsqYuNRUon X-Received: by 2002:a05:6808:1311:b0:3ae:84b6:1f6c with SMTP id y17-20020a056808131100b003ae84b61f6cmr19339003oiv.52.1696869237611; Mon, 09 Oct 2023 09:33:57 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1696869237; cv=none; d=google.com; s=arc-20160816; b=xjro9UIiXUSvIuxpNcNviWGm9lTDUss54ZUWSJR3RmQP21XvIqRmfU/NetZf78T7Eq 0Gr/A3FUfKRo4vn0Zdnm+4xu7sYzRin1VIOfK34nG0D5OKwsJMzApRQoHNizDXRKGl2o y3aCOolXMzuuxnGSF6uFk39o1qXar8CzMy6YH8qwGDJI55LA3elV66bvpUGe6Px/29I1 RkOJpjK+7K2i2L64HIIt3JtlgM3bgXUsQAy4UrD7UqRgJMfrP9Oud6k70Hf3t+5tarSm XhF9485OXs7VcAnceox20XcqrGlnHDYC4d6gvNL5eH3Vxx7xBHCkOwVhLHxxlvkPKKvB pJQQ== 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=ZgAUhHJmbAWVKMj/qj7uBpSpsL5yIQNcIBFI1M3KUrE=; fh=3XBvd5tVoHgZQNsIrs8io5yGhaXHV9FXuQecuZ7UYG4=; b=ZjNRAbMOU7f5eePVVEaxxeXSyCy6n+6hjPp09AkjNz0+NPPHLvuBy6zqRZ17dtUZCF euirLCt+nsrwuO/BhtHLZKg9qUY7NxW9mCvy0WcO1ZzAQPIu6P5GLN1+BKeWiwZeCdo4 ThQuRcDPPjFBvdwNOXrDG2VUaXkIx0T17VLxLSlD+PFV3z+s2m95Bm9S5NuxeD4pOR2O emjEQiz8prVaaD43DH7zIGHhT15gjaO8zk4P06U4YsJsPfNn7IbJMoK6GB8/PxcdskfD gVZM/V80F0+kk3MuzjwOQFCTc/7dgSh7EP8BGpAMNrSjl0j/k+I8xJuTzOxBjonPLeO9 jk0Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20230601 header.b=UYHqckFZ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 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 lipwig.vger.email (lipwig.vger.email. [23.128.96.33]) by mx.google.com with ESMTPS id z17-20020a631911000000b00577f4d736bbsi9477279pgl.373.2023.10.09.09.33.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 09 Oct 2023 09:33:57 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) client-ip=23.128.96.33; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20230601 header.b=UYHqckFZ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 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 lipwig.vger.email (Postfix) with ESMTP id 781808040C41; Mon, 9 Oct 2023 09:33:55 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at lipwig.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1377204AbjJIQdr (ORCPT + 99 others); Mon, 9 Oct 2023 12:33:47 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44630 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1376996AbjJIQdr (ORCPT ); Mon, 9 Oct 2023 12:33:47 -0400 Received: from mail-lf1-x12c.google.com (mail-lf1-x12c.google.com [IPv6:2a00:1450:4864:20::12c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C1F9599 for ; Mon, 9 Oct 2023 09:33:45 -0700 (PDT) Received: by mail-lf1-x12c.google.com with SMTP id 2adb3069b0e04-50348c54439so7214e87.1 for ; Mon, 09 Oct 2023 09:33:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1696869224; x=1697474024; 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=ZgAUhHJmbAWVKMj/qj7uBpSpsL5yIQNcIBFI1M3KUrE=; b=UYHqckFZjMRtNKJc9ZHT+a9mD9KooKG2TR+i3KjqXu6ent+qp2MQFs2toi5zQigWMz z+ENkt0r0w4pbxkUyZdzSR09ESntGcyYuM1y1aoI3rg0nZgQO0MWX8mHPMp3yuhzPIUX tzGxXgP4cXYLgiq2H1unVbupMm84Ih3cLBKjo7tvKyVZ+2xyj1SyIe+cFgHQ6i7/x6jK zsT+cXdifKsTAS3hssZJ6YWzjdGaZKx2vAfeTsMJPWWquWOiWMVK1OpI+iSf971SZz6d G3+JiH0YTxmmCWfwZbPosjpia6PeOgry6R6PkqYKn74KXKm4fw5siJGdpwPpRDaIwqgW gEoQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696869224; x=1697474024; 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=ZgAUhHJmbAWVKMj/qj7uBpSpsL5yIQNcIBFI1M3KUrE=; b=gbFsZQxxESFePVufOLTsL9RGJTrZYUmW5oqIDAKc2HMmduMYVpv/ZKA96YwEHbMtaw DdiptYD57SMwiMKzsPY1cpXDRoXALSvVPXqvahlwnzonbD/BTQFCsSrYJolLwRgc0Q0S +ImdXotRh4xsQ0BPcVtHt8AxGL8XZIOR5xXJPXgV7Xx+kjN6PkaOGxX3zY+f+JTFBa1X Y12xd7/kLIYoLOLKCixEO/MlulpU7KeLFIU5FWJd2vvOJMTrekNz+dE4uO7yWOWVATs8 Jon5vv34ZWAM03JNpbJOJMidw7DdV20/2M/DxI27seOUXbFIpYv7Bh0ko5VJ5qY9KRk4 XbrA== X-Gm-Message-State: AOJu0YzVCBnK2S1ihXTuIMak5H7Z2oXFiKlywSqMNgUeZ3inQfwTrw0W j4qHtXLdyrXoyoatBvTen7Lf+j3vJr7NDG2o7IlzGQ== X-Received: by 2002:ac2:44db:0:b0:505:7c88:9e45 with SMTP id d27-20020ac244db000000b005057c889e45mr230791lfm.0.1696869223703; Mon, 09 Oct 2023 09:33:43 -0700 (PDT) MIME-Version: 1.0 References: <20231005230851.3666908-1-irogers@google.com> <20231005230851.3666908-8-irogers@google.com> In-Reply-To: From: Ian Rogers Date: Mon, 9 Oct 2023 09:33:32 -0700 Message-ID: Subject: Re: [PATCH v2 07/18] perf env: Remove unnecessary NULL tests 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 lipwig.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 (lipwig.vger.email [0.0.0.0]); Mon, 09 Oct 2023 09:33:55 -0700 (PDT) On Sun, Oct 8, 2023 at 11:14=E2=80=AFPM Namhyung Kim = wrote: > > On Thu, Oct 5, 2023 at 4:09=E2=80=AFPM Ian Rogers wr= ote: > > > > clang-tidy was warning: > > ``` > > util/env.c:334:23: warning: Access to field 'nr_pmu_mappings' results i= n a dereference of a null pointer (loaded from variable 'env') [clang-analy= zer-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. > > IIRC !env was to handle live sessions like perf top > or when it doesn't have a perf data file. Anyway, > it doesn't seem to work anymore. I trust the analyzer here and it would be better to crash earlier, from env being NULL, than in a particular conditional branch. Like you, I wasn't able to find a failure from removing the checks. Thanks, Ian > Thanks, > Namhyung > > > > > 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; > > > > - 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; > > > > - 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; > > > > - 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; > > -- > > 2.42.0.609.gbb76f46606-goog > >