From mboxrd@z Thu Jan 1 00:00:00 1970 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 DC23F3D5C0C for ; Tue, 23 Jun 2026 12:21:14 +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=1782217275; cv=none; b=fMPPYfLtsykKYyetF2LqoNGshviYtmOZFasM2dJfwkggmA3V/uzoWfpWL1Aivv9ayji0bgRQZvkB9nbZKA7oZPuYYYMqvQhByrd3tpOuz6pWhA7mdl8SbA9mmJ3VAKQS1ZopEHRgNYuBKWs4WYqkFJkspjZNornM5hxzMKipe7k= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782217275; c=relaxed/simple; bh=AN6ppwR3kd1WFUbU9DKEq3apKpJ8vyt9ejViggT5/c0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=D56G/6K5xITcLj31QV31K/ad4FvezOxf7uvlY5x/09Ur+GNxWwC+d7fvN2p5ekmQAroD8iKivKMEUgClkJzPlnIYSKnnM8L5TLwZ7S5gwa2wBOyW/5HrwhcVIfHnETK26sUdrTIT1BZaWz9uUrYCISeSnb66FM5smf/Utfpvj18= 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=Gg212elX; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=bo2PFmaF; 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="Gg212elX"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="bo2PFmaF" Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 65NBXotb3668848 for ; Tue, 23 Jun 2026 12:21:14 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=GaQcQVT5n9L HLCVP7PYj+va6pm+vVtEUtpzmlxdT3Kk=; b=Gg212elX8YWQpGYnRY7LnqyzNqV 8rdTz6d3EdWibWgx7AmJQtRmFGrfcg2+2JnNVbOuq8pdoZ5gPVvRQ/oRt0dmSc// x6hb/ct9e9bTnEjzzO9x0UU/YKB8qO8x9ZzE/MXA93jpLHkesWlVNA9Vw3Etyr0j tI0WvJwM+S4oVy8XFU/YU7wqUPQKa8Pz/ldmTUgNXUYSJ7Mr1fF+r8gsSnX4l2Ei p2KjzibpsEh7MzOeAwXmd1RteQFP7kFMp5qDsn3wukO8m7NUIVxkdMmOB6Qlq2bZ ycEpUHPj9/kBcs/1D3P7R6IREjxjSfnUielRKmkxeEYkluzKvf4teiacKpg== Received: from mail-pg1-f197.google.com (mail-pg1-f197.google.com [209.85.215.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4eyppygwx1-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 23 Jun 2026 12:21:14 +0000 (GMT) Received: by mail-pg1-f197.google.com with SMTP id 41be03b00d2f7-c89704da8c7so6746407a12.0 for ; Tue, 23 Jun 2026 05:21:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1782217274; x=1782822074; darn=vger.kernel.org; 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=GaQcQVT5n9LHLCVP7PYj+va6pm+vVtEUtpzmlxdT3Kk=; b=bo2PFmaFzya8mA9viMe4XdfA+L3xVJtpCpQucWGsnher+Ke3NvjdOeZ+4qTFGG47s9 vI33FY3jtyxMCfH2cTxNgeCoR+bYiX6WgajftLPBg+EF2bJPlrsJsuEIOdyS38yLMuH9 hrJU6ZBN/DKbjIBOO8N1GLc+vkqPZ5LAqeXqj9lAXYLv0XGT/whLFKrtYPpyHEYrvlTb VBMq4tDb50lW+dT2dWKhRjaAJbBMVyzId4dRh255pxBZyeAPPMhreqyrItPzKgRNoabC e0fMaBu4IXWgWlhnuEJ8h/Cx2s2SrT+XOfgMj+kSObjtygFAmseK6X/sahp784+uZQqt cOoA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782217274; x=1782822074; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=GaQcQVT5n9LHLCVP7PYj+va6pm+vVtEUtpzmlxdT3Kk=; b=s+nlVM7EvDnv1ngKpwKcMXTI06x4bxMUxrGELj45YKjbEdO3nWwlGeQWY27QjN+Iae 4dNduTHNwBFq+eTjRVqrG6aiTfGctP/ISsrjonPwzSo1hzDk7SkxmQHxJDR2bNldXsQ5 1t+mOI/TIIqgebiICfT7ar7XOHnPYqcavQAdTwn4iJ2azdM9ULaSpm81qOiu6LudvmDT xXiQzRbpDYrEx/aynj2OAmzNq9WMZBxZS3wPJTliRIcsTftejock0yKUZV1UfzLVs9mN c5tD1+w3vlGl+NJ+XB0txkOsR4I7JiyCVwc4QWZwc/PQDPifEPbbPGyjgXzVojxyUB06 jN2w== X-Forwarded-Encrypted: i=1; AFNElJ+6Bf7yQxRm76Kc5mkQpcTqA5MYJYG4U/kxzsaBvuvkGfUtaEna5ksNHs/iZ9QTyOswuCwNE5ZV/rgo0sc=@vger.kernel.org X-Gm-Message-State: AOJu0Yw/o5Ve/iz1vnQMoSzWctd+xYqo1sWzhAvK2MSkT7FE7YQbSv1G Fx9TnFbqxDccoA62+Iwm5KsyzCnHGdDV9Tq6nnghqkvWCX00zr5GC3807KuugszkSjZj27HZVvg kzst0h8r3h5ZJetBOT17gwVapaja9ouXwNrO/BUgWEuqb/8VNqpTFHqUokJQppVODd+0= X-Gm-Gg: AfdE7cmfXRtypESI/46uHRAK4eZSwt+lj3wp5RDc3CEldX52ow0CB7vUxHbo/zNWFk2 PKYsdv2GR5fRmRexTHvp0HvrTFxWUcMPmNFGZ7u7LVvzzS0QWEtBvqWzEy4HA7jxBbqu/kckm+S Dr/ZUoH/Iu/uJdU9BzxyDnwUujBpnVlT+JHdNx01zHX3uTDLPDYKAfaKpzTIVIhQSypt+O4OZtM P/QgABV7nP+apc1sMvVcoJkRot3W8KQcvbTEzw2rxAwcHo6sTdpZRsFSBN6uUJfyRhfj3Q3dxH0 xSkVbp2iAFLwg7UCZtPrgrshnwxfSKsNIrx/dHM+n+3kuGCDBXnGU2ee0qSeTZjL4MR7LCdWnvR lZVRTDhZompoXxAHRIY32OSkAM9/eITE3h/VLgA== X-Received: by 2002:a05:6a21:6e97:b0:3bb:1629:17c1 with SMTP id adf61e73a8af0-3bd151a94bbmr3396901637.35.1782217273370; Tue, 23 Jun 2026 05:21:13 -0700 (PDT) X-Received: by 2002:a05:6a21:6e97:b0:3bb:1629:17c1 with SMTP id adf61e73a8af0-3bd151a94bbmr3396862637.35.1782217272829; Tue, 23 Jun 2026 05:21:12 -0700 (PDT) Received: from hu-mojha-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-84564e74646sm10171856b3a.29.2026.06.23.05.21.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 23 Jun 2026 05:21:12 -0700 (PDT) From: Mukesh Ojha To: Rob Clark , Will Deacon , "Joerg Roedel (AMD)" Cc: Robin Murphy , iommu@lists.linux.dev, linux-arm-msm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Mukesh Ojha Subject: [PATCH 4/8] iommu/qcom: Fix pgtbl_ops leak in qcom_iommu_init_domain() error path Date: Tue, 23 Jun 2026 17:50:30 +0530 Message-ID: <20260623122034.1166295-5-mukesh.ojha@oss.qualcomm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260623122034.1166295-1-mukesh.ojha@oss.qualcomm.com> References: <20260623122034.1166295-1-mukesh.ojha@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjIzMDEwMSBTYWx0ZWRfX4zdRXC+GNy5B jm4rbQtieQi5yCDWWrUkuOuctLpKCAE/BPJsHCUhCBIOzyHKYvondSQtH/wrUJcvcTQduHfct6P g9mXATGhJ8WlSsxOsI5dMPIM6FkwcO5Wc4ebGe/8Rp03s06ZTZbDAgdoVsOzmoSuPd/S2g3A1Kj lxElWAbJPvcfROnM91yuO7vWnET9tD+QiQG/gtVEHonKZvrOB0WuhbaqBwzsvoEXL25nYvqM0Z3 clRVeoNr4C77I3Ru25qlWNsipQ25m9a9Yuc4UVBuGSJ0N0gMK0ey6/dsxHOuYHEypZlOqKrAYse IxsvGuQJ1hoDYOurbSUjNgpiyHEhPO2s8L299xhmIpxjde2A5P30NS7jwo5S22mkjJlYBzCO1Nt GDBREM9TPryCckRDcSYiZtJvy2/2JHp2EINa2NpNCIH2fjfT0HU68IZVdJ/id3oL+231jr4KsSW VPX+OIMLXF7GfdQV5Cg== X-Proofpoint-GUID: zeanD3edTx83pxdnzVKQ7UFyubTbPvxP X-Authority-Analysis: v=2.4 cv=dvfrzVg4 c=1 sm=1 tr=0 ts=6a3a7a3a cx=c_pps a=rz3CxIlbcmazkYymdCej/Q==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=FelO9ux0wxsA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_K5XuSEh1TEqbUxoQ0s3:22 a=EUspDBNiAAAA:8 a=pv9nQ82OMFi3fEhVMZYA:9 a=bFCP_H2QrGi7Okbo017w:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwNjIzMDEwMSBTYWx0ZWRfX+eMs4TP/Io0y lHdI05ESjrUik84QRnGdi//jApB27W/vv5Ijpa+K0GCLe3cYo/frAtiOlvLCN1HbLz4bEnfns99 Xts5RvKAugG9BxwOGw3cxG4+SL3vCFY= X-Proofpoint-ORIG-GUID: zeanD3edTx83pxdnzVKQ7UFyubTbPvxP X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-06-23_03,2026-06-23_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 phishscore=0 spamscore=0 adultscore=0 clxscore=1015 suspectscore=0 malwarescore=0 priorityscore=1501 impostorscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2606230101 alloc_io_pgtable_ops() can succeed and then qcom_scm_restore_sec_cfg() can fail for one of the context banks. The goto out_clear_iommu path only cleared qcom_domain->iommu; the locally allocated pgtbl_ops was never freed, leaking it permanently since qcom_domain->pgtbl_ops is only assigned on the success path. free_io_pgtable_ops() safely handles a NULL argument (covers the case where alloc_io_pgtable_ops() itself failed), so add it unconditionally in the out_clear_iommu handler. Signed-off-by: Mukesh Ojha --- drivers/iommu/arm/arm-smmu/qcom_iommu.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/iommu/arm/arm-smmu/qcom_iommu.c b/drivers/iommu/arm/arm-smmu/qcom_iommu.c index 4e714a8e1fac..b6ce85f7f923 100644 --- a/drivers/iommu/arm/arm-smmu/qcom_iommu.c +++ b/drivers/iommu/arm/arm-smmu/qcom_iommu.c @@ -314,6 +314,7 @@ static int qcom_iommu_init_domain(struct iommu_domain *domain, return 0; out_clear_iommu: + free_io_pgtable_ops(pgtbl_ops); qcom_domain->iommu = NULL; out_unlock: mutex_unlock(&qcom_domain->init_mutex); -- 2.53.0