From patchwork Fri Jul 21 12:46:33 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Manivannan Sadhasivam X-Patchwork-Id: 123861 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:9010:0:b0:3e4:2afc:c1 with SMTP id l16csp218712vqg; Fri, 21 Jul 2023 06:50:44 -0700 (PDT) X-Google-Smtp-Source: APBJJlFR9ziXsIg6zhJ2aELv30O7/pE+YrtWyGQKkFzmTh3sQT9scpNIy7HUfH0ABPubwN2g6n7j X-Received: by 2002:a05:6870:3045:b0:1ba:2a58:b15e with SMTP id u5-20020a056870304500b001ba2a58b15emr2701369oau.2.1689947444296; Fri, 21 Jul 2023 06:50:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689947444; cv=none; d=google.com; s=arc-20160816; b=GQ5maQvHwgZYGue+qQ/yl9/Th/yJbyUbYqSoWcF42Wb+ir+s0jlAYdP7vagSWFnU1d G1DYG4pWXCQoxVJwnNqUPydlsRzsdBb5mS3rjVDzS9PR1c10j2jk7Mi+LzkPV26f/Db3 YKyxSlX+wgjFZYNx19Ka+ucmnXjSUyF7Qqbvszl+PfJvjpU85LOJDEa4AIhK/E6FzSF9 T161cSUE33CScmBdCPQspjV4aZYLN+4h5h3a/RgMNlKJn6FCmbUA7gVT8u6PX/Cls0Fz nJA5fnykeNzUMhttgw5YP3uUrau6QRAQlI/y6/uFT0VlDOMMTPIEKqeo6qoy9FnT9Rxb MxGA== 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 :dkim-signature; bh=zOhQoPjGrp3aso+jrzR34u3Ml2QJYToj9I27g4uhl+E=; fh=ZCnim++8Sd85jLB/64x9Uhb+KxeEtoxrcA4muPZHgk8=; b=Hd67YuaLaiSpFYCqcR60xPK2wczsGCy8RfU5Nmk2mCznlHFbZdF/QMetgCf+jiUuPZ WXl4SJT3Xo5uPHea3Nu9YUoYwI6lcYEYhiE7yeoVU5ZEIRfG6EAtKucQNO1UWcEZZ1a+ Q3Z6+hkakgKanGBZVQh9ZBbWMPx1w/DH51vhqL1Py/wmkEosNlNggItzqEwby5FcdW9w xA19RbGeZDG7nKNWEwe//jBOf9h7zhJUk0bDemQGWvNLcRDYh70KDl1zZT2VZ0vo4/bi tHTSBqc4zj3a3UachayH0v13jXNNcdnevP4R6rRR90y/HyW6Drjpky/FfCV7D54KwuX4 In+g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=sLt6bNbN; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id g13-20020a63be4d000000b0056345699506si2953845pgo.44.2023.07.21.06.50.30; Fri, 21 Jul 2023 06:50:44 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=sLt6bNbN; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231441AbjGUMr3 (ORCPT + 99 others); Fri, 21 Jul 2023 08:47:29 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47680 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231189AbjGUMrX (ORCPT ); Fri, 21 Jul 2023 08:47:23 -0400 Received: from mail-pl1-x62c.google.com (mail-pl1-x62c.google.com [IPv6:2607:f8b0:4864:20::62c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D4ED23599 for ; Fri, 21 Jul 2023 05:47:08 -0700 (PDT) Received: by mail-pl1-x62c.google.com with SMTP id d9443c01a7336-1b89e10d356so12717835ad.3 for ; Fri, 21 Jul 2023 05:47:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1689943628; x=1690548428; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=zOhQoPjGrp3aso+jrzR34u3Ml2QJYToj9I27g4uhl+E=; b=sLt6bNbNO5+X1FVNrje31z+kzhAtTrYWfTf5ak1d8fmUA7BIhfftjsIIEBLVnc8dLe zroqTQt12W9Le2eqkqBzLc/YbS8Xqo/rxK6KRAuZySb/LGilDP4A16Oslzp8ZqB4fubB QNWnyGSK3/p9z9HwfCb3NvQblxoH2QjVDol04bz5aX+GXEwmkTmTmdyCwrQjtqlnsocf i23s6sLnswwIeIgsRtHpOZiLrcnk2CaPubUmpOrwMzQdmge3kjwOnikBb3cf4K9JMrZF IG9YgqpKp9cQOfkEdjq50lJclhMpknUtxbisbP3OdznFHvqRm4hu2D3Ts44iuxcbFUns DANw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1689943628; x=1690548428; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=zOhQoPjGrp3aso+jrzR34u3Ml2QJYToj9I27g4uhl+E=; b=ZlndZHhqhuBPMtfoqwGy5LOQeiXcQWZsDFXR2D336YVuDAnUWpWcPCqKtkGq3fyz2r NbwoBueODupBnn7gaEGNAcLlgagiIiN+Gr6pO6uDXvV5vWNdB5RhQnnGDP48APE6P63E gDXYS0J0ZlQU3Mdoh1GN8qbrwvmtJCdta9ICSJ/hPyx1RUz+oHHjPjU5/4S4KCsFbjTU +7iXWuzRwpTovB0H5Tg+Q0eINluTv6N3VFkB0qyyua7yourC9xemVwKHTvgM9AM4lXtN ZjOiXyEnvmmGObjJWAx46tNX+Am5nxX18G7ELtz5/SLqqVcOKQahTcfGVUj0LBCqtpd4 VOWA== X-Gm-Message-State: ABy/qLaKRa9g6rzITWV9gNsg+booJBf6BIo2B+EZ19x3Xlyp3SVgt/Kk Q3mjkDxv1Ky2uB1KBCoG3NQp X-Received: by 2002:a17:902:c409:b0:1b8:918d:ac48 with SMTP id k9-20020a170902c40900b001b8918dac48mr1894397plk.56.1689943628161; Fri, 21 Jul 2023 05:47:08 -0700 (PDT) Received: from localhost.localdomain ([117.206.118.181]) by smtp.gmail.com with ESMTPSA id ix7-20020a170902f80700b001b8b2fb52d4sm3369828plb.203.2023.07.21.05.46.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Jul 2023 05:46:57 -0700 (PDT) From: Manivannan Sadhasivam To: vireshk@kernel.org, nm@ti.com, sboyd@kernel.org Cc: linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, Manivannan Sadhasivam Subject: [PATCH 1/2] OPP: Fix potential null ptr dereference in dev_pm_opp_get_required_pstate() Date: Fri, 21 Jul 2023 18:16:33 +0530 Message-Id: <20230721124634.63612-2-manivannan.sadhasivam@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230721124634.63612-1-manivannan.sadhasivam@linaro.org> References: <20230721124634.63612-1-manivannan.sadhasivam@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED autolearn=ham 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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1772038331633463368 X-GMAIL-MSGID: 1772038331633463368 "opp" pointer is dereferenced before the IS_ERR_OR_NULL() check. Fix it by removing the dereference to cache opp_table and dereference it directly where opp_table is used. This fixes the following smatch warning: drivers/opp/core.c:232 dev_pm_opp_get_required_pstate() warn: variable dereferenced before IS_ERR check 'opp' (see line 230) Fixes: 84cb7ff35fcf ("OPP: pstate is only valid for genpd OPP tables") Signed-off-by: Manivannan Sadhasivam --- drivers/opp/core.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/drivers/opp/core.c b/drivers/opp/core.c index 3f46e499d615..98633ccd170a 100644 --- a/drivers/opp/core.c +++ b/drivers/opp/core.c @@ -227,20 +227,18 @@ EXPORT_SYMBOL_GPL(dev_pm_opp_get_level); unsigned int dev_pm_opp_get_required_pstate(struct dev_pm_opp *opp, unsigned int index) { - struct opp_table *opp_table = opp->opp_table; - if (IS_ERR_OR_NULL(opp) || !opp->available || - index >= opp_table->required_opp_count) { + index >= opp->opp_table->required_opp_count) { pr_err("%s: Invalid parameters\n", __func__); return 0; } /* required-opps not fully initialized yet */ - if (lazy_linking_pending(opp_table)) + if (lazy_linking_pending(opp->opp_table)) return 0; /* The required OPP table must belong to a genpd */ - if (unlikely(!opp_table->required_opp_tables[index]->is_genpd)) { + if (unlikely(!opp->opp_table->required_opp_tables[index]->is_genpd)) { pr_err("%s: Performance state is only valid for genpds.\n", __func__); return 0; } From patchwork Fri Jul 21 12:46:34 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Manivannan Sadhasivam X-Patchwork-Id: 123865 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:9010:0:b0:3e4:2afc:c1 with SMTP id l16csp219088vqg; Fri, 21 Jul 2023 06:51:26 -0700 (PDT) X-Google-Smtp-Source: APBJJlFX9mIRntxqZVInGptAp9KGJ/I49eOEB2KWQmfEP/HkQ4V4a0VXA6DWHClNN8ezc/OvOa5M X-Received: by 2002:a17:90a:910d:b0:262:ceaa:1720 with SMTP id k13-20020a17090a910d00b00262ceaa1720mr1380318pjo.5.1689947485818; Fri, 21 Jul 2023 06:51:25 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689947485; cv=none; d=google.com; s=arc-20160816; b=y8AbQdpCbF5gyjqTk0IDpHvOrtwcYAyLc1JEBJec3cZw1VVKinozMACCtuUjfX0BSu erVJzDAYrOWA8/A/fJDdyxCJtPlShqUpudQegC7Bcp1SHJfaUz47luOKl7xyi1IHtc3i vJtV7eE0epz/YV/8E/6qee88oPB8HGgM812dlz1yfy2yAVZknZduJqUGqEURRfBapWIi HLl3CeDfBgh7EA2936Xj4hjwEgSjJbP+mLDPZkRW9XFJhN2Ev/fgv0OfayXURzjYFZKc 2GtsZM+mgrL7fnmYjsu5u+XmyrTfHuFc8Nj5VEr9MEwhdhmBvnXr+nu5b0ufDdlyGqtX NjOw== 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 :dkim-signature; bh=d4/eRoqwSAGdi8LJemKHI/V1OYM9+swXufBrZM0hUXk=; fh=ZCnim++8Sd85jLB/64x9Uhb+KxeEtoxrcA4muPZHgk8=; b=gu2lbUaZtAdwVA6lgtTqEXrHKPuqnEg951gLjuTdLAHI1EGuyv3FQbQaabsvXQGkFD xmSmzbBbzcjjt34LMLtdTPqeTTILl8JZViKDdeaNDidQdi/HZ7HidfMmLEz7OMEQjFdZ 61tTbvL8PK7Mk8klwqxLjX7EyFKuJHhaO60lUAcSpeNttkeLwqhpUQ6pF29XE/1IYy9s FLtaItqHXKXfH6Hh18Fqk0f1QoKew8lh1VMhoKYzh1RApwqC5T9D1P/PBbcIENPrF7Gd 2CStwajRZiiHndGjxekjK0K/nZ1aurDCP8kwLcNorg9kQlOtlVEcg5lbH6lk9D8TdZd5 qhsQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="yFN3/VyH"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id hk13-20020a17090b224d00b002612ccaaf09si5948973pjb.61.2023.07.21.06.50.46; Fri, 21 Jul 2023 06:51:25 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="yFN3/VyH"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231224AbjGUMrg (ORCPT + 99 others); Fri, 21 Jul 2023 08:47:36 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47578 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231226AbjGUMr0 (ORCPT ); Fri, 21 Jul 2023 08:47:26 -0400 Received: from mail-pl1-x62d.google.com (mail-pl1-x62d.google.com [IPv6:2607:f8b0:4864:20::62d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E9C3B3A84 for ; Fri, 21 Jul 2023 05:47:13 -0700 (PDT) Received: by mail-pl1-x62d.google.com with SMTP id d9443c01a7336-1b8ad907ba4so11519585ad.0 for ; Fri, 21 Jul 2023 05:47:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1689943633; x=1690548433; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=d4/eRoqwSAGdi8LJemKHI/V1OYM9+swXufBrZM0hUXk=; b=yFN3/VyHs01yi924BoKQA3rrgUaD/Hl40Ot0j1gpDRx8j29mKVke8EQvqAdLCaQK4M 6f/l8ErfCvpGw5LQz/pZ3hjukF7r4W5iVON++Vf79UYo0WmTMnAYbYiGEycqWmdA12ex TciPBsADja5tXbs8y9Uz4bmZ6M34xoiPNRlaF/Wyhku9Dpx5XcuSndO5MIyTelSDWo7m spITXGKc6NN1OMKi7e+1/XE78Lstba3baS5pBazCY6r8aa2wCN3jPKZMNhWZo3GnhTCf QNhdJWhkXOmC7Cpyj8PoynwM48Px4H3uYHPxtug+Cc/QpumNbJ52USlirX5bijsDp2Bn jpBg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1689943633; x=1690548433; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=d4/eRoqwSAGdi8LJemKHI/V1OYM9+swXufBrZM0hUXk=; b=ceFDLzazaNMqQXP/IB7aulBTQtZ5xreG9RHTQ2Ik/8rJdXDBoVBrNSVsb5O1vkOE6S Sb06FqSHhYheGgtFAT/GVjfE4wK/H7/CZ7slxkOYJMm1HbhIEhjPPxhe0SIpGj4YHhHC 4h7ypdCd3fpBjBSLDet1I2bjaHsy89Ud2PKDagTSiHmEqrtO5Gnrdm3pfwKE1K77HL6O 12cHSuKquu1PmDIIjxHHIbZn8yBvBf/2N13sn+NyY9Wvg1MRBCbX/D5FWy2T91yt6RkM jMsvawUzmgirD9cO9bkkAEvGMAELL5KSxGpmuuWs8C8Z9IRLC6urYIYLM+OpMwu7nKXH hicQ== X-Gm-Message-State: ABy/qLYJ+6Qb5ZQp5GTLVAkIHjUPflAoiryHseqHS7eIyUxBviGTG1ay POut+thG1/O85671m4m+ghqzC/SLJEH0jPxxBg== X-Received: by 2002:a17:903:110c:b0:1b8:525a:f685 with SMTP id n12-20020a170903110c00b001b8525af685mr1631050plh.37.1689943633295; Fri, 21 Jul 2023 05:47:13 -0700 (PDT) Received: from localhost.localdomain ([117.206.118.181]) by smtp.gmail.com with ESMTPSA id ix7-20020a170902f80700b001b8b2fb52d4sm3369828plb.203.2023.07.21.05.47.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Jul 2023 05:47:11 -0700 (PDT) From: Manivannan Sadhasivam To: vireshk@kernel.org, nm@ti.com, sboyd@kernel.org Cc: linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, Manivannan Sadhasivam Subject: [PATCH 2/2] OPP: Fix passing 0 to PTR_ERR in _opp_attach_genpd() Date: Fri, 21 Jul 2023 18:16:34 +0530 Message-Id: <20230721124634.63612-3-manivannan.sadhasivam@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230721124634.63612-1-manivannan.sadhasivam@linaro.org> References: <20230721124634.63612-1-manivannan.sadhasivam@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED autolearn=unavailable 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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1772038375180721097 X-GMAIL-MSGID: 1772038375180721097 If dev_pm_domain_attach_by_name() returns NULL, then 0 will be passed to PTR_ERR() as reported by the smatch warning below: drivers/opp/core.c:2456 _opp_attach_genpd() warn: passing zero to 'PTR_ERR' Fix it by checking for the non-NULL virt_dev pointer before passing it to PTR_ERR. Otherwise return -ENODEV. Fixes: 4ea9496cbc95 ("opp: Fix error check in dev_pm_opp_attach_genpd()") Signed-off-by: Manivannan Sadhasivam --- drivers/opp/core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/opp/core.c b/drivers/opp/core.c index 98633ccd170a..ae359ed6a161 100644 --- a/drivers/opp/core.c +++ b/drivers/opp/core.c @@ -2377,7 +2377,7 @@ static int _opp_attach_genpd(struct opp_table *opp_table, struct device *dev, virt_dev = dev_pm_domain_attach_by_name(dev, *name); if (IS_ERR_OR_NULL(virt_dev)) { - ret = PTR_ERR(virt_dev) ? : -ENODEV; + ret = virt_dev ? PTR_ERR(virt_dev) : -ENODEV; dev_err(dev, "Couldn't attach to pm_domain: %d\n", ret); goto err; }