From nobody Fri Jul 24 05:25:01 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4373837BE93 for ; Thu, 23 Jul 2026 06:11:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784787062; cv=none; b=LoGuSKyFzM6DPbd8vgEmtP5igeXHEfjOCQkMJ/6dfadPZUCyvy4HnHhuIclNFPTRy+Qt7JZtYGaBmeIn5uosZ87BDyZ5QbbWUUjJ40wTOYa47IxZ76P3r/kGiMetyePphw95zxScp2RHpxScH0kboPwdAa4v+7iEKgLTWPlEqcI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784787062; c=relaxed/simple; bh=hi+iIessdn39GO6b3cxvpHV44T4Gxoi0IfOLEBKfLK8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:Cc; b=O11Eeuu7/BCP9GmXSYrh2RB+NfkZmdiZAmMGxxOLzVZBJQOjgUus9biNYob50FYpa9pDvMqk0rv7Xdb+mSwkXAHxQGGdUCSXrB/TvO0/dcArSa8I5Kc6fC16LcH00W0mGlUQ5vXn2qTVq/+P6zW74a5oU4eZEgrQaTRrkNgb2CI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=gZp3Pmhv; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=iQNaZY6l; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="gZp3Pmhv"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="iQNaZY6l" Received: from pps.filterd (m0279863.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66N6Ab383274810 for ; Thu, 23 Jul 2026 06:11:00 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:message-id :mime-version:subject:to; s=qcppdkim1; bh=VDNk3olTWQf/PpMcZI1NYf Ft9NS51XhKqKrm3cvr/O8=; b=gZp3PmhvcD9qlV8NY5tQTgMt2j5un4OqM+8wbu 6U8VbYXe+kxaD2vYOWMxqlQspRuf98CuWbQFnJlpNbhBMAaTVX6AN+GknlUmDX1c owL6L6M7BgXRPL+tirJfWZxVltYMnntwvaVCvMHCrHcFtXYENLlDZFr77MlpmMi0 YHGJEwBpw2LPJh9leLxVcFevAU3sQwQVjJlrs0n5V8FhqUbvrJFuOUSraPLtXaWz bYsYcfeB8PUP4G2E+5YbjrLowwTZHyTCwYLsltvqcziosBC0UMzchfhKSoin96yF VvGAHk/Zh+4xR1umgvBAW6D4YPxgV0/y4qf9JiL+21G209ag== Received: from mail-pl1-f198.google.com (mail-pl1-f198.google.com [209.85.214.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fk6c7hg9t-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 23 Jul 2026 06:11:00 +0000 (GMT) Received: by mail-pl1-f198.google.com with SMTP id d9443c01a7336-2cec4226c70so7260505ad.1 for ; Wed, 22 Jul 2026 23:11:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784787060; x=1785391860; darn=vger.kernel.org; h=cc:to:message-id:content-transfer-encoding:content-type :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to:content-type; bh=VDNk3olTWQf/PpMcZI1NYfFt9NS51XhKqKrm3cvr/O8=; b=iQNaZY6ldDoGJAie0/2kjl4cAZne5iRPmYD/TEfHIYAwKFpLsHC14IU0QhIaq5KbUn ftiGp9N3IvgDvpE/9/rragwXjqz4GvxfOyUSXGCd6DaC4DjxiYwP78GN4jCZmPIP4SYM 2aBB6E7fZYejHwOVevjOnnryKOhSo6401PfbQPch2PSxlpFqupoVdeQho6HiN5nGGUFg f0WS/aq2j9To/NuUE5HDuKmt3bPLCPJVpg85VDiuwIK5Icr00DEamZcEGNKudsbnUGrX rSzGIfEXIhEQPjuZ2qAjhoMjfF4QcIlrMSijyh2ii8aTbG3hvHdYLy4dMoC5P5J27v0F NCpA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784787060; x=1785391860; h=cc:to:message-id:content-transfer-encoding:content-type :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to:content-type; bh=VDNk3olTWQf/PpMcZI1NYfFt9NS51XhKqKrm3cvr/O8=; b=Fx3lumoGTl/f97xJ05rGxTHFIBWRBEsVSp6tsM9geXYy8DfFHijA8G8cwGVT7Qpqhx xhtJZxmQnsadtT2qI5lc930YG76FB02jHV4XhLtIkiA2SoXkSwebTUBC1NSQqr5w/k5x /xkXc+oJJbMU9Lh3WGi+stMyKIehjyyzWNqJMiWQhUfObjI3UXVh/HZQk5ABfxnT06MG jx7U2lbvtzeFCOEju6KDFBnMltOPgzfwMe/HYlUQ+7LB4q+J93eIzGkorwSDHmuB5dLF nveyxhKW65YSHjQkTaVGQCFTanibOro/SYEAy7YKwVUqd95ZHsTKNte5qFPhLT8ziuNZ 9X0A== X-Forwarded-Encrypted: i=1; AHgh+RoVbeBxlyTwIqMfHW6KP6kkEbuT9HRqhKMqiJ+rR74ETOu24wEOJRgasxQh+1dlwZEsYglInZHtG+u66gA=@vger.kernel.org X-Gm-Message-State: AOJu0YxZY2q54bMVCvQWlqBdXLHPTQtimi5BKrtirKB9mEwWbMXkLXpU oQrFpC9CDbG2i7CKxs3MpADbDlcbagG/F3jmdUnI2YZrhHlEEhuon0PgJVJ4ycSG65syGjVwAx6 e9CTesQJL6fG+qdvgff3Mdxr/SFxesEpatOqdRg0+b6L4LgSqnMDRVvKxHbGusublhvs= X-Gm-Gg: AR+sD12VPfjLisHfKvImq8QweTA0lWqRukmhvQb9cR8JptHAWOcC3PFY8CYrd/G6q6a T2+YP99lSPpdiTe8RxPM0Om0hkUhInGqrEzgImtk+2pD7zXVHCYzcimrYdCSMyqqEPoMzopU7p3 2Bp3W+DYE0dEthNUCc1dWNeZieNt+ny78PNPRSW7W73msdZCyjQ9gW31wcgn4F76YDwc6F6ZBaY D99CC3DTubW2xGeImre7ZfigX/9z0c/Ic1wAUH++pTEJX7MDYI1A90dSsqV11+BC5pDo972I00o Qw9AE69hieXv3vz9XVq1hkZviz+8cFOCWc/eJARkhLFYJ/DJMcc3dxSVOroBDWatnh8/p88vkrM N8wikHQ0DZuvIM9UqRcpS+vL30Z76jm01pg== X-Received: by 2002:a17:902:e84c:b0:2cc:9179:335 with SMTP id d9443c01a7336-2cfa6a43e6emr25063285ad.8.1784787059679; Wed, 22 Jul 2026 23:10:59 -0700 (PDT) X-Received: by 2002:a17:902:e84c:b0:2cc:9179:335 with SMTP id d9443c01a7336-2cfa6a43e6emr25062925ad.8.1784787059091; Wed, 22 Jul 2026 23:10:59 -0700 (PDT) Received: from hu-ptalari-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2cf8efa9918sm26404805ad.16.2026.07.22.23.10.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 22 Jul 2026 23:10:58 -0700 (PDT) From: Praveen Talari Date: Thu, 23 Jul 2026 11:40:47 +0530 Subject: [PATCH] clk: Guard clk_round_rate() against error pointers Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260723-fix_ptr_check_on_clk-v1-1-568a7ed87746@oss.qualcomm.com> X-B4-Tracking: v=1; b=H4sIAGewYWoC/yXMUQqDMBBF0a3IfBuYJpiCWxEJdjrWUYmSxCKIe zetnwfeuwdEDsIR6uKAwF+JsviMR1kADZ3/sJJ3NmjUFp/aqF52t6bgaGCa3OIdzZOyaCxWZNh UCPm6Bs67f7Zpb8ftNTKlXwvO8wKlSPKDeAAAAA== X-Change-ID: 20260723-fix_ptr_check_on_clk-603605c3e350 To: bjorn.andersson@oss.qualcomm.com, Michael Turquette , Stephen Boyd , Brian Masney , konrad.dybcio@oss.qualcomm.com Cc: mukesh.savaliya@oss.qualcomm.com, linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org, chandana.chiluveru@oss.qualcomm.com, Praveen Talari X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1784787055; l=1662; i=praveen.talari@oss.qualcomm.com; s=20251114; h=from:subject:message-id; bh=hi+iIessdn39GO6b3cxvpHV44T4Gxoi0IfOLEBKfLK8=; b=rU3od/Zl5TdXy7fUfsioknOmwBM+4wD4Qg++AzZEYWXOBbqyfftzukBGTYW9DmFsWAgP9p0Na nYki8E00LgMDKGzjlTWJBAqtaIPhGuSCG/IPWqqndcAPHk1c5gFmeWT X-Developer-Key: i=praveen.talari@oss.qualcomm.com; a=ed25519; pk=NGK/88fjyHXgfhIKwag7+uIytOmyOypvZ/hDFaYPEss= X-Proofpoint-GUID: 3ZZwOPlZKbRD4wRmm5S52s1kQ4LxF9o6 X-Proofpoint-ORIG-GUID: 3ZZwOPlZKbRD4wRmm5S52s1kQ4LxF9o6 X-Authority-Analysis: v=2.4 cv=baZbluPB c=1 sm=1 tr=0 ts=6a61b074 cx=c_pps a=MTSHoo12Qbhz2p7MsH1ifg==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yOCtJkima9RkubShWh1s:22 a=EUspDBNiAAAA:8 a=KKQlwpLLMM6cNVQtMjsA:9 a=QEXdDO2ut3YA:10 a=GvdueXVYPmCkWapjIL-Q:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwNzIzMDA2MCBTYWx0ZWRfX44RDyVpP6c6D 5lKdqcVPQoZmltZlkxEGvovH3p97ynmlnhtPW4SM+r7AW/Kuh70H/IT8Fz0P181Umizfm3fotsC hKm17DwVDA80lBBKeSvLaddl6jlHe50= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzIzMDA2MCBTYWx0ZWRfX6iO+vmTxiTIC YaKeXU5ctgU0rT27dwf9GgJSjvee6Y8toRgnE9mN4FR+gdCTO6dBrXu64giz8Wegpub3Ai5lWio BEJX1QtspHhqRJCKZ4lvr+GiCSJ9KeuvV7iV5aE7V3PtKMS7Ob7eF14HoZbR/Df22mDuoZjU94l 6GiffEtrpqbOmREOpdsSOX87bfjcg7GFuhypcGYYRTL/lJ7vg7+/9zfioG/riLbA3UGeCDLT7hP q+4CWH/9Ne5M8782iMYQza8O567zsmaKgZi7yx87TZoEnsGqNZCiI4RmJ2IJ4fBldte8Lom6KvZ 6iUSA0flhExgy9juuPt4jgL5Q6tSVv2DdSDvsXM8yvFEt3OW9shzvBPpgviNhdDx6VqlY/g7So3 rvM1jx+ZJNXW+/IXWppELpRxW2Aj/RrVEtTttSqUyAEEfjtfGey3f88TelIofPug3J8j2Jc8RM0 NT9sJjq6hWi2EF1/qaQ== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-23_02,2026-07-22_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 malwarescore=0 lowpriorityscore=0 phishscore=0 suspectscore=0 adultscore=0 impostorscore=0 priorityscore=1501 bulkscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607230060 clk_round_rate() only checks for a NULL clk pointer before dereferencing it, but callers such as dev_pm_opp_set_rate() can pass it an error pointer (e.g. ERR_PTR(-ENOENT) left behind by clk_get() when a device has no Linux clock and is instead managed by firmware via a genpd/OPP performance domain). Dereferencing that error pointer to read clk->exclusive_count crashes with an unhandled kernel NULL pointer dereference, since ERR_PTR(-ENOENT) plus the field's offset lands on a small, unmapped address: Unable to handle kernel NULL pointer dereference at virtual address 000000000000002e ... pc : clk_round_rate+0x3c/0x188 ... Call trace: clk_round_rate+0x3c/0x188 (P) dev_pm_opp_set_rate+0x114/0x33c Change the guard from "if (!clk)" to "if (IS_ERR_OR_NULL(clk))", matching the pattern already used by other clk consumer API functions such as clk_unprepare(), so an error pointer is rejected the same way a NULL pointer is. Signed-off-by: Praveen Talari --- drivers/clk/clk.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c index 048adfa86a5d..8c1ad3d10284 100644 --- a/drivers/clk/clk.c +++ b/drivers/clk/clk.c @@ -1780,7 +1780,7 @@ long clk_round_rate(struct clk *clk, unsigned long ra= te) struct clk_rate_request req; int ret; =20 - if (!clk) + if (IS_ERR_OR_NULL(clk)) return 0; =20 clk_prepare_lock(); --- base-commit: b4515cf4156356e8f4fe6e0fdc17f59adab9772f change-id: 20260723-fix_ptr_check_on_clk-603605c3e350 Best regards, -- =20 Praveen Talari