From nobody Wed Jun 10 06:31:55 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.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 1C96633A9DA for ; Wed, 20 May 2026 19:20:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779304802; cv=none; b=Tu6cwneJLH0kKB8PuLfM8ugDBItFXuFb6Wv2rUly+meRjbU6QLpp4xbhdNjjYjCXwfcYllpnbytqrDv3FAgk4Y7rsTJGBAFRIujhJFpEjjUga/iwonslgPagRPhIuTt+W2kSlcczhyUgsvIqL4mWfZJKGfxr2XsVLpw247t+KKw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779304802; c=relaxed/simple; bh=4FHLC0bnTekkNLgy7lcHxQjfjLT0Wq3vJixLptjPBrs=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=EpiTtb7JdeZcZiObisSEx/iMxEOMZFd/T1Ve4SismfWk+wSUwHFSKaWvU0NByRl6wYXhIEvIVPzhrYyftAzt5h2lnT71d0Ubc9ooGQMHHyS9ydKDn3EweNF3vPu2PkCM0XB3UUsNDumk4zu93ar1y4oOtexTcU/f+lNyKLDCgPo= 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=Fb9j2PHy; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=SA0gqKsU; arc=none smtp.client-ip=205.220.180.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="Fb9j2PHy"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="SA0gqKsU" Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 64KGI9Pa270558 for ; Wed, 20 May 2026 19:20:00 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:message-id:mime-version :subject:to; s=qcppdkim1; bh=r6YMtjaiaTXIMz4lJ/l5IAROT3th/iPkVaB nZpAvcRQ=; b=Fb9j2PHyxuz+kO1pmc0J+OPZFbjx3x1Cdr/aoSGyENZdfgfeAc/ dZ9LP4cowWVdjrWO5fqawN7uEaHib+Mg8VdrxfZqDNZnrT3pplt4UTenOAPoVy80 bIIy3z+GnDtwEM60KpzpUAq5fZK9KQkHucWe6KTOjpq6AwKa5/jNDaSkbAlvENGx mevRuwtKAB89cbv3hPIyAO10BkIUwHtUO4bud9Tg3cAV4R11ENsoGKKpo+fC3Zle 1McViLAx8jvtCA21e3bIpmnLSfXRjVY8XCN5QnE07/ymctIPdN2kv3e4hjKo/9Lt nwWt3OwsSIxtnQO/hLDrMpDK+uT0fmJC3yA== Received: from mail-vs1-f69.google.com (mail-vs1-f69.google.com [209.85.217.69]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4e9amxt9n1-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 20 May 2026 19:19:59 +0000 (GMT) Received: by mail-vs1-f69.google.com with SMTP id ada2fe7eead31-6332db4182dso8540154137.0 for ; Wed, 20 May 2026 12:19:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1779304799; x=1779909599; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=r6YMtjaiaTXIMz4lJ/l5IAROT3th/iPkVaBnZpAvcRQ=; b=SA0gqKsU1Lg3NFJHdJc/0u1xpm0mAlAZgcYHDy3HIXOJXS0oZcrjH9AnYMR3WnRNbR lmli/hkvCVKSwDaFHCSwlibuSAhuujsN9aOZ5sYdxHdUkrJ3TucUVE+K7C+6Tcqw3/RZ rCJL7oLkKq4F7/5bnsh2v62V0WPyF6L08VpyPKTOZb2SJ8vn46JPC0HQAzrmWUGaF/8c DxvrzEQxSa7xg1+xk5TMehni0BGXHlrfz06g5QKtcFoIOynuxPS45jxMd+e0Yi1Trmqn sBii5yTYe6hYoR1SNyGUiIOVmPRPkZQCx+Vm2snIuqzu9Wpto6it6rVxMMlnM/BfZkWX 5iug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779304799; x=1779909599; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=r6YMtjaiaTXIMz4lJ/l5IAROT3th/iPkVaBnZpAvcRQ=; b=tXGlgM5hlLKjpnbeOkTpJZZ1MewfmOxHrFAScTrfQ46IGUl+m+PdWFLys0Pdb9dLg4 xQWnXxR4o3NlJxHUk5kOYPIZOpmoX6JrPP/bMajzaqWwZJcRuYG+HKPKdCGz2jxYxXFd UMKHGh1FSGmJopQbrRmqZOCojXNE2BHjEj5DZ4IwvZWbXwcnzxUIdxvLREgpgu9oIqWH nk6J2olzKw25IuBo05XdwpiVzLmGggn+cpmY7kd8v/OZ4o8zCZDbkdyz0eh4PTu7HGGd wHFbiv8LWPVDY9tcwu2+L85AL84l8wXXt9FP5Mv+FI8wKbx9/UkYFBe512gZM1y00KAH gw7Q== X-Forwarded-Encrypted: i=1; AFNElJ8T5WESbYtS1tTwcKT25lRqOq6j+s9SnsPBlzTtlmuket21ECwyfuJ0U1w5+yakka1VlpUprOxrJy0nZic=@vger.kernel.org X-Gm-Message-State: AOJu0YypNPYho/FzAPsqu7GOz5Sdm994FC8vGBtjT65NsunDGk9VitPx uXnEbIawLHzPcdiiwYCBef4Ist6VVTm7pYOGeWv1tyY7gFj1YNKC4HV/QX9E8HmBfT1j7OVozVz iJNv94paNqGaBx7FFy94PA+gwM9txBRW2v2XeG0RTbbMouUgU9+SjNQKAIFWW0PuZMw0= X-Gm-Gg: Acq92OEGHzMvyGP3Jho+n8WSvx4vc72uTb1fzQAyUbLtz0lmlOavS1C8KJ0NM4TqgbQ +onLT7/rRyNW4P/LNcEnF3Q6ORQJUmedYnTklpJYE1PBrYfwsmQ3SeY/grp2sxCHuqcTslceMoJ 5yma3kSVp8XYyCsbq+vNsndGsHd32UOsfFddvuCCjq3Y5G0rJpE0NlaWBIyDLwDQZAyckl0jmnV 6Pgs3Eyuc1xoMy0LttGj+0ykFkmZtSoEK5DMl1l6lMUVpBEqgzJ9Jl3kpUVEpsRcChwVOmHNnOE C2fi3IX5imOCpjp0QS7SSMIiNHfKf5frusMCMG0nfLoX4ZJlfR6P9a5n+aZ5udojmIzSR0w/Do2 tQzgLnCx9YAel35EvmKa/I7t+93C7iGey7lri X-Received: by 2002:a05:6102:854d:10b0:650:94b2:b209 with SMTP id ada2fe7eead31-65094c2070fmr7545569137.4.1779304799300; Wed, 20 May 2026 12:19:59 -0700 (PDT) X-Received: by 2002:a05:6102:854d:10b0:650:94b2:b209 with SMTP id ada2fe7eead31-65094c2070fmr7545549137.4.1779304798919; Wed, 20 May 2026 12:19:58 -0700 (PDT) Received: from quoll ([178.197.219.94]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-45d9ed2f738sm54567601f8f.16.2026.05.20.12.19.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 May 2026 12:19:58 -0700 (PDT) From: Krzysztof Kozlowski To: Georgi Djakov , Raviteja Laggyshetty , Konrad Dybcio , linux-arm-msm@vger.kernel.org, linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Krzysztof Kozlowski , stable@vger.kernel.org, sashiko-bot@kernel.org Subject: [PATCH] interconnect: qcom: icc-rpmh: Fix resource leak in case of missing QoS clocks Date: Wed, 20 May 2026 21:19:54 +0200 Message-ID: <20260520191953.190564-2-krzysztof.kozlowski@oss.qualcomm.com> X-Mailer: git-send-email 2.53.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1487; i=krzysztof.kozlowski@oss.qualcomm.com; h=from:subject; bh=4FHLC0bnTekkNLgy7lcHxQjfjLT0Wq3vJixLptjPBrs=; b=owEBbQKS/ZANAwAKAcE3ZuaGi4PXAcsmYgBqDglZH+ClU22WgzuRSsjPrkjZHN/yZFiwN1QGr 5+DofLulIiJAjMEAAEKAB0WIQTd0mIoPREbIztuuKjBN2bmhouD1wUCag4JWQAKCRDBN2bmhouD 1zN4D/9079hBkeNaOJXFm/yX0bDWLgwYhAydjlIymxjEFffVfWSoyzP2SJdEskNsO1t1bM4OTOq 87+CVtXnVi8Jyqm1h1wP0HyK9CSI4DobGoduG8PI3I+fBt56Svo0Vnq3jFS60VAnE/ElJ0Q5eLt ae2BNNGAzaMaA3siuFd2ST1RcGb6r+hvAddJzUPR2/EIhAJOrHH1J4BPwT5JvtpWuvHbisDCIsr U1DPZ81gukmBAy/Isp341v3WclToV9nxLOd3ZutOcRgjwsPLyFu1xRwYRbicBdRQNWnfZy4HXNh dC2+YSKr4KNUmnhKvQ+ufZE/wLpKuGY+3AktkPajOeM6AKt0MMjZQh3qubBQZISf001uF+dPveh wqEIST6DUnK2wXMWrsH0BV6APG6aAF7IEJvCspU4AAGEX7yoBlBFwYTAxxwoDQDjAGsXJ7l7iTU vu0qPvc0quFUStmKbkXGk3KYZS/JfWFIVAC+T8FSsPekn32gDYdnqMp7BRNB4YAaG2ySsPmVo8J ahLqb7Y2bfm44z7deD/YNbtLmTXlBK39/M776WB0ksCCFa7d2sehiH1wwzyYcHP0J93Apqsq5dg qW++udrAaPzOaJqGJOAPCgHJiUPAnv0YaW2vr1obwDBbH+hfw0XumkinNdOlnkcHiGxdu3lf3YY F2LUb3n5fVQPY7g== X-Developer-Key: i=krzysztof.kozlowski@oss.qualcomm.com; a=openpgp; fpr=9BD07E0E0C51F8D59677B7541B93437D3B41629B Content-Transfer-Encoding: quoted-printable X-Proofpoint-GUID: -B1FwmRvz6Qy3fI9CB774qqnZHbuV2z8 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTIwMDE4OSBTYWx0ZWRfXwbQk7mL54gwz 2nMVrk4aGLhxQ/jK1kOh5XG56RWuYRu+Dbrjcm3afhi4yo/FLHVuQntVtx7ochWx7U4a0I8Gdir mmkkegcxC1EPJ6MaGL4YrqeerIqPOfyCk9765G6SWm99j3MtXPRmSsrpHeHa+3gE/1JWaXSqC0d 2+UMuW4HssFtY8n8lrAcxNyhVXUA0vRcPeTwDSQywZtBkfC/GVYXLDxj8LtchdA0JFuAVB8XgSW k/rdxfShNv/foIKAEPgriI1kzXxyUsHmhkgYenlkRBfpoPdVH8DjxYNjQcaEvzEQKTFDEzFCq2g OErEXRGWn7nadX/xGfkN0Uu+AXhq8rJdqdIGtF4HHCUvS29U42nYT9/qfBQkUPlHBj2h3BQYXCF H8fbBlE6Y+KbpEu29ONGP15kDmjAk8zvDPjAzBm2uenwzMoGKEUyFhp61sjDL3EtnZqklEXEUCO /xOBwXmEQUIGTdGlQaw== X-Authority-Analysis: v=2.4 cv=TO11jVla c=1 sm=1 tr=0 ts=6a0e0960 cx=c_pps a=5HAIKLe1ejAbszaTRHs9Ug==:117 a=gOEeR9iKwsj33Yj5oN/cWg==:17 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=ZpdpYltYx_vBUK5n70dp:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=IQQy_Q3euI4hPQ5xFQ0A:9 a=gYDTvv6II1OnSo0itH1n:22 X-Proofpoint-ORIG-GUID: -B1FwmRvz6Qy3fI9CB774qqnZHbuV2z8 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-05-20_03,2026-05-18_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 clxscore=1015 lowpriorityscore=0 impostorscore=0 suspectscore=0 spamscore=0 adultscore=0 phishscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605130000 definitions=main-2605200189 Content-Type: text/plain; charset="utf-8" Driver defers probe if getting clocks for interconnect providers with QoS returns -EPROBE_DEFER, but it fails to cleanup in such case leading to both resource leak and potential use-after-free, since the ICC nodes are stored in static driver data. Cc: Fixes: 05123e3299dd ("interconnect: qcom: icc-rpmh: probe defer incase of m= issing QoS clock dependency") Reported-by: sashiko-bot@kernel.org Closes: https://lore.kernel.org/r/20260520190807.509871F000E9@smtp.kernel.o= rg/ Signed-off-by: Krzysztof Kozlowski --- drivers/interconnect/qcom/icc-rpmh.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/interconnect/qcom/icc-rpmh.c b/drivers/interconnect/qc= om/icc-rpmh.c index 3b445acefece..56512989d1af 100644 --- a/drivers/interconnect/qcom/icc-rpmh.c +++ b/drivers/interconnect/qcom/icc-rpmh.c @@ -324,8 +324,10 @@ int qcom_icc_rpmh_probe(struct platform_device *pdev) } =20 qp->num_clks =3D devm_clk_bulk_get_all(qp->dev, &qp->clks); - if (qp->num_clks =3D=3D -EPROBE_DEFER) - return dev_err_probe(dev, qp->num_clks, "Failed to get QoS clocks\n"); + if (qp->num_clks =3D=3D -EPROBE_DEFER) { + ret =3D dev_err_probe(dev, qp->num_clks, "Failed to get QoS clocks\n"); + goto err_remove_nodes; + } =20 if (qp->num_clks < 0 || (!qp->num_clks && desc->qos_requires_clocks)) { dev_info(dev, "Skipping QoS, failed to get clk: %d\n", qp->num_clks); --=20 2.53.0