Received: by 2002:a05:6a10:6d10:0:0:0:0 with SMTP id gq16csp769488pxb; Tue, 12 Apr 2022 13:00:26 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy++nwpYXfTIBCFPLNHSjK/w1LYk9RIvnQ+oyI06GoXCdFfMFBczOwT4LOfwwey/Ss9oJEw X-Received: by 2002:a05:6a00:421b:b0:505:fc04:4a3a with SMTP id cd27-20020a056a00421b00b00505fc044a3amr5099129pfb.68.1649793626094; Tue, 12 Apr 2022 13:00:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1649793626; cv=none; d=google.com; s=arc-20160816; b=l1NgBhqC837TD/Kesx0EF5xBsPeINUaaKVKp8A0pNm54u0I/QqNvMil/L4Fj86KeeR FEUxGrpZ70hfoAGEZoQ4o9BiYVIw8M8h4yp53EmzouaYeyakfUQG8p97cKXlxwThd/m1 6hmryj3CbLZ1Y9GgANNo6jcmIX5KzHU9LcFbasuMP4dyCgFWW7M+OW+ewd/PbNYdWE9F FXuocrx7Azi/cArmifjQTB75evmK/RtWMvigZuMIKWgbPY55l/nIKptjVqajX/Pf+rsT 6/QT59Wa2K45chuhMZgbK3ngi9/RU4pWeFsP7L6QKjChD2xDCFuyXPtSyP4ergJZcPsR HUbQ== 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=kbg8wH7Yswy5QE8jpckmV3koPHQTpWyJ7xjtC+Zc1PZWzvmJRq6UrJ9lR4cdnpPpro OQdAYR6OwVa6osBJ9TIvGg4foZ6c7i3yTYLLRfnfxS4MMHQBwD0ICfU28B3QmMHUhrUv sNGrhtPARcTO0024I+AGIYAeXfSmfBsvqi++tKi/4fRcKaHQkKnXJz8+wg2juPSDGOM8 TCM23lJJMOvHW0/JPBDwxcOcutBxNC73JOnttY4UUOZ2A35OaIuQByoR+B6BkK3NCJLe GW0lVxvu04yX2vLlNeyEmDEdblH4zQ9XQHY0cDUIf2WH/LZCHwc2DPih+AnnUZ0ZnxY1 OWsw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=SPGqSLAf; 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 s15-20020a17090302cf00b00153b2d16433si6066242plk.59.2022.04.12.13.00.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 12 Apr 2022 13:00:26 -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=SPGqSLAf; 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 B3C5C6928B; Tue, 12 Apr 2022 12:52:41 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1355155AbiDLIHS (ORCPT + 99 others); Tue, 12 Apr 2022 04:07:18 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42842 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1354659AbiDLH0e (ORCPT ); Tue, 12 Apr 2022 03:26:34 -0400 Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B2FDD4665C; Tue, 12 Apr 2022 00:06:26 -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 ams.source.kernel.org (Postfix) with ESMTPS id E9F1EB81B5D; Tue, 12 Apr 2022 07:06:24 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4B390C385AE; Tue, 12 Apr 2022 07:06:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1649747183; bh=MIJOt/rCjVZ1I/G8JnoYtBGZqGnfCfzujr8/xisSegw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=SPGqSLAfSorR1ulggq87bjrk22Vm21k+K2/vc927DfRSukaqCcAK4dVoWBZ+vsPnD moFJt3y/aihcd4uimzgRr/iczuxE5N1Wxb8vxU0d9eej1JHEqSZf/WrHHI/zd9axD9 lY8PIqlKEpJGrOWHvqUTif4aMSmWOtWWW3AUPSJM= 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.16 246/285] perf: qcom_l2_pmu: fix an incorrect NULL check on list iterator Date: Tue, 12 Apr 2022 08:31:43 +0200 Message-Id: <20220412062950.759803377@linuxfoundation.org> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220412062943.670770901@linuxfoundation.org> References: <20220412062943.670770901@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)