From nobody Wed Dec 17 19:19:06 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 1DC85C2FC04 for ; Thu, 17 Aug 2023 04:00:42 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1347946AbjHQEAK (ORCPT ); Thu, 17 Aug 2023 00:00:10 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50614 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1347941AbjHQD7k (ORCPT ); Wed, 16 Aug 2023 23:59:40 -0400 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 18A4126B6 for ; Wed, 16 Aug 2023 20:59:36 -0700 (PDT) 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 74EB4D75; Wed, 16 Aug 2023 21:00:16 -0700 (PDT) Received: from a077893.arm.com (unknown [10.163.56.113]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 579A93F762; Wed, 16 Aug 2023 20:59:32 -0700 (PDT) From: Anshuman Khandual To: linux-arm-kernel@lists.infradead.org, suzuki.poulose@arm.com Cc: Anshuman Khandual , Mike Leach , James Clark , coresight@lists.linaro.org, linux-kernel@vger.kernel.org, Dan Carpenter , Mike Leach Subject: [PATCH V2] coresight: etm4x: Ensure valid drvdata and clock before clk_put() Date: Thu, 17 Aug 2023 09:29:26 +0530 Message-Id: <20230817035926.157370-1-anshuman.khandual@arm.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" This validates 'drvdata' and 'drvdata->pclk' clock before calling clk_put() in etm4_remove_platform_dev(). The problem was detected using Smatch static checker as reported. Cc: Suzuki K Poulose Cc: Mike Leach Cc: James Clark Cc: coresight@lists.linaro.org Cc: linux-arm-kernel@lists.infradead.org Cc: linux-kernel@vger.kernel.org Reported-by: Dan Carpenter Closes: https://lists.linaro.org/archives/list/coresight@lists.linaro.org/t= hread/G4N6P4OXELPLLQSNU3GU2MR4LOLRXRMJ/ Reviewed-by: James Clark Reviewed-by: Mike Leach Signed-off-by: Anshuman Khandual --- This applies on coresight-next Changes in V2: - Dropped drvdata->pclk check for non-NULL - Replaced IS_ERR() with IS_ERR_OR_NULL() for drvdata->pclk Changes in V1: https://lore.kernel.org/all/20230811062738.1066787-1-anshuman.khandual@arm.= com/ drivers/hwtracing/coresight/coresight-etm4x-core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/hwtracing/coresight/coresight-etm4x-core.c b/drivers/h= wtracing/coresight/coresight-etm4x-core.c index 703b6fcbb6a5..77b0271ce6eb 100644 --- a/drivers/hwtracing/coresight/coresight-etm4x-core.c +++ b/drivers/hwtracing/coresight/coresight-etm4x-core.c @@ -2269,7 +2269,7 @@ static int __exit etm4_remove_platform_dev(struct pla= tform_device *pdev) etm4_remove_dev(drvdata); pm_runtime_disable(&pdev->dev); =20 - if (drvdata->pclk) + if (drvdata && !IS_ERR_OR_NULL(drvdata->pclk)) clk_put(drvdata->pclk); =20 return 0; --=20 2.25.1