Received: by 2002:a05:6a10:6d10:0:0:0:0 with SMTP id gq16csp33076pxb; Tue, 12 Apr 2022 16:01:51 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwLemE8mRhqwduNQun3q5vJIp0MwiBCQHxDRoj9w1zOvk512B350FG+7E9+Fm/OGrnEJhFL X-Received: by 2002:a63:5917:0:b0:39c:c450:3143 with SMTP id n23-20020a635917000000b0039cc4503143mr24436157pgb.531.1649804511389; Tue, 12 Apr 2022 16:01:51 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1649804511; cv=none; d=google.com; s=arc-20160816; b=u7PpqqhrhgR3zuOwUEfmJY8+6LGspEA68zPmqwzTjzPoUidul9eusgvsInmgRq5HPw Ue5fOU2eeTEotBP404OCx2Sfol/n6cQvOH/iQy9oSaBaWjoyOBSWCyic7LkPR51h52Fi RmK/9OisU89U7IMyGM8XdLqdcY7oPpLgig+KIv4/pd1GeQpQ2p+smBW5xbWdZihSGQ48 MB+4FQ6zsBYAdQdm/vgut8kLmsJa9PbEGfUuxtEK0sNOddzBB5x3QujE/xKJLRwDuJ0h F/5eVFzLALiNcuL6AFocPwG22ksuL9i/zu8saJcnYg1ODlnf9SpFcKoOvYH1q6lUCFq2 dApw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=PboKvokam6EUmfEfnIXeLIW6ZwAdNdkofh5CObdUwn4=; b=kk7Dcpj+PnTASLH890YDUG8RN+mJTUzT1Xwm8Tuwolr9WI/FmI5ZRe5yMl8wVC2w1R yjY8zTaR9TxTLhzCGmGaV4CEjwD0fIBUy4Lk9lGcm/RdzMlaFAtlrnl/UmUIXyfn5Y43 sKZut39SjYz4J6hN6QYSbz3LWkb2abYTztInZBzmTN4DXfxOvlKp48L14jk90dZdyntl oj9kjWIhjic1Xc7GzPfviBW1GnI2T8mAs031l2kDzKtaP7yI9QEK2BTKmLqjEkPWBHm7 arIfJTndGt5omKSx+eFt0Fv15aMNrbGJkk72ml0WmF4f9W6HjEue3+RNbRl1aQg27IGG Oifg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b="hqZyjym/"; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [23.128.96.19]) by mx.google.com with ESMTPS id a21-20020a63e855000000b0039dac5e89f6si1119150pgk.763.2022.04.12.16.01.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 12 Apr 2022 16:01:51 -0700 (PDT) Received-SPF: softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) client-ip=23.128.96.19; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b="hqZyjym/"; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 612101E1120; Tue, 12 Apr 2022 14:43:34 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1355662AbiDLH1x (ORCPT + 99 others); Tue, 12 Apr 2022 03:27:53 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57076 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1351690AbiDLHMv (ORCPT ); Tue, 12 Apr 2022 03:12:51 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9D4DF15A18; Mon, 11 Apr 2022 23:51:44 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 38B5C6146F; Tue, 12 Apr 2022 06:51:44 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 44014C385A1; Tue, 12 Apr 2022 06:51:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1649746303; bh=MIJOt/rCjVZ1I/G8JnoYtBGZqGnfCfzujr8/xisSegw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=hqZyjym/ECeHkbtYHhYSCvJls3XNxYOdj/GCseQ/4UNNwlcdQbqQS+yXfkFWSRfRi +Z7qDAeZ8J/qyIfX51eQLmuW1r2PJX7RRplIFww1iwXUsDMsDtHWo7ngHXsNmE0J6u /O8+VHIHQ4nlegyg2e0y1lD+VYtWg8QG/gV25E50= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Xiaomeng Tong , Will Deacon Subject: [PATCH 5.15 235/277] perf: qcom_l2_pmu: fix an incorrect NULL check on list iterator Date: Tue, 12 Apr 2022 08:30:38 +0200 Message-Id: <20220412062948.845383567@linuxfoundation.org> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220412062942.022903016@linuxfoundation.org> References: <20220412062942.022903016@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RDNS_NONE,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Xiaomeng Tong commit 2012a9e279013933885983cbe0a5fe828052563b upstream. The bug is here: return cluster; The list iterator value 'cluster' will *always* be set and non-NULL by list_for_each_entry(), so it is incorrect to assume that the iterator value will be NULL if the list is empty or no element is found. To fix the bug, return 'cluster' when found, otherwise return NULL. Cc: stable@vger.kernel.org Fixes: 21bdbb7102ed ("perf: add qcom l2 cache perf events driver") Signed-off-by: Xiaomeng Tong Link: https://lore.kernel.org/r/20220327055733.4070-1-xiam0nd.tong@gmail.com Signed-off-by: Will Deacon Signed-off-by: Greg Kroah-Hartman --- drivers/perf/qcom_l2_pmu.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) --- a/drivers/perf/qcom_l2_pmu.c +++ b/drivers/perf/qcom_l2_pmu.c @@ -736,7 +736,7 @@ static struct cluster_pmu *l2_cache_asso { u64 mpidr; int cpu_cluster_id; - struct cluster_pmu *cluster = NULL; + struct cluster_pmu *cluster; /* * This assumes that the cluster_id is in MPIDR[aff1] for @@ -758,10 +758,10 @@ static struct cluster_pmu *l2_cache_asso cluster->cluster_id); cpumask_set_cpu(cpu, &cluster->cluster_cpus); *per_cpu_ptr(l2cache_pmu->pmu_cluster, cpu) = cluster; - break; + return cluster; } - return cluster; + return NULL; } static int l2cache_pmu_online_cpu(unsigned int cpu, struct hlist_node *node)