Received: by 2002:a05:7412:419a:b0:f3:1519:9f41 with SMTP id i26csp4494066rdh; Wed, 29 Nov 2023 03:09:01 -0800 (PST) X-Google-Smtp-Source: AGHT+IHv/h/e5pI9CqVqS/AQt5hI55y+yF4HgNsu9g0MiYScpkavuR/Cr+7UKi/qGPAYxvtXztcW X-Received: by 2002:a05:6a00:1483:b0:6cb:6c9b:8892 with SMTP id v3-20020a056a00148300b006cb6c9b8892mr22295279pfu.29.1701256141079; Wed, 29 Nov 2023 03:09:01 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701256141; cv=none; d=google.com; s=arc-20160816; b=tlj4wmBh/80Exdh4JC2apavwL66TWZ5u4KChsmEdNoeWwYXjKwFCdoS6RQuHbw+WEV OPHvn+s5JHSMlBSFU+XIYVfNRR/9gFm19vh7BHT5RZg5ZHSrHREFmFdbfubnep8ZbbTm lqV8dzVbfUrFUEXFyR5Hl97Gl9uU4BBJiIy5Am+1TSkhsl8s65R0RAoniDBzz0sZNgDc MxRWWOJxunXE7qWmlpXS3QFrDE9SC2VwvnusDGviWwRN6GkjzVyIULG/b9YpegRT8qFZ WDD4RpGdzQuUCR/kQYDaYzBr2Bib2ELuhCSMC5u2d5NXN5Vt6IDrodlXwr4c5Yp3D6/H xU9Q== 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 :references:in-reply-to:message-id:date:subject:cc:to:from; bh=lGKlwSq6FOq0HnUXS8vNaRtAAOZHamTsQ+3dbDRA+HY=; fh=jF+j1UEDAwnYbShW3HmO1TshMsWh36Jt7pSLTP62NeE=; b=dJqRHI8MAejC2KuOiM72zGNuhaMFwqibZydng/QwRkW20d8M0mQbCoGNbC5Lt5cfKq 92t+zyhgn/hSW6wkEA+ZHw97KH5YujyXB+K5dYzxHixAIdeZjIeyiZkabio6FmW3n4x6 dul8vevFUCmuIgbVIIfW4woMiOL4s/vYCtQW1eFxXG0dMV+XDVGDRKa1IDEaO/F8BJMZ 4C9d2huzNa4PWZeui8SQf+g7MuBbnNAPkfqPhge/5bIoVSY5sxZUFwRBIVvuUO3mZy0g 9JErO2la6Ax6cqdG9VRSEt1ZlKBRTll9NALDGcnVwlUaaBRA1sPsJPPh1cANeio38g9U T0fw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Return-Path: Received: from agentk.vger.email (agentk.vger.email. [2620:137:e000::3:2]) by mx.google.com with ESMTPS id e9-20020a056a001a8900b0069109ee0b59si13969097pfv.231.2023.11.29.03.09.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 29 Nov 2023 03:09:01 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) client-ip=2620:137:e000::3:2; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by agentk.vger.email (Postfix) with ESMTP id 5B87180423AE; Wed, 29 Nov 2023 03:08:55 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at agentk.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231952AbjK2LIf (ORCPT + 99 others); Wed, 29 Nov 2023 06:08:35 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45966 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231159AbjK2LIT (ORCPT ); Wed, 29 Nov 2023 06:08:19 -0500 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 4D3E71BEA; Wed, 29 Nov 2023 03:08:18 -0800 (PST) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 36D912F4; Wed, 29 Nov 2023 03:09:05 -0800 (PST) Received: from e129166.arm.com (unknown [10.57.4.241]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 917C13F5A1; Wed, 29 Nov 2023 03:08:15 -0800 (PST) From: Lukasz Luba To: linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, rafael@kernel.org Cc: lukasz.luba@arm.com, dietmar.eggemann@arm.com, rui.zhang@intel.com, amit.kucheria@verdurent.com, amit.kachhap@gmail.com, daniel.lezcano@linaro.org, viresh.kumar@linaro.org, len.brown@intel.com, pavel@ucw.cz, mhiramat@kernel.org, qyousef@layalina.io, wvw@google.com Subject: [PATCH v5 06/23] PM: EM: Check if the get_cost() callback is present in em_compute_costs() Date: Wed, 29 Nov 2023 11:08:36 +0000 Message-Id: <20231129110853.94344-7-lukasz.luba@arm.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20231129110853.94344-1-lukasz.luba@arm.com> References: <20231129110853.94344-1-lukasz.luba@arm.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-0.8 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on agentk.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 (agentk.vger.email [0.0.0.0]); Wed, 29 Nov 2023 03:08:55 -0800 (PST) Subsequent changes will introduce a case in which 'cb->get_cost' may not be set in em_compute_costs(), so add a check to ensure that it is not NULL before attempting to dereference it. Signed-off-by: Lukasz Luba --- kernel/power/energy_model.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/power/energy_model.c b/kernel/power/energy_model.c index 3bea930410c6..3c8542443dd4 100644 --- a/kernel/power/energy_model.c +++ b/kernel/power/energy_model.c @@ -116,7 +116,7 @@ static int em_compute_costs(struct device *dev, struct em_perf_state *table, for (i = nr_states - 1; i >= 0; i--) { unsigned long power_res, cost; - if (flags & EM_PERF_DOMAIN_ARTIFICIAL) { + if ((flags & EM_PERF_DOMAIN_ARTIFICIAL) && cb->get_cost) { ret = cb->get_cost(dev, table[i].frequency, &cost); if (ret || !cost || cost > EM_MAX_POWER) { dev_err(dev, "EM: invalid cost %lu %d\n", -- 2.25.1