From mboxrd@z Thu Jan 1 00:00:00 1970 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 2353542BC30 for ; Fri, 17 Jul 2026 14:46:37 +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=1784299598; cv=none; b=XvOUfa45KvPt5xAycxLNnjC+i/zy1bMp5lWWNF+KOQKe6zgdMcoEeUY8UE7z+kJhDTNPszUjj4l+S8s7UECtDEHf+pbBGTLqnZ+tz6T3VxEqvd+VnahuJrvbOLuLS65A48YYTMWzn3py42FFDeE1ui8K/vnPuxLO3nbhpZ8ymFc= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784299598; c=relaxed/simple; bh=+AcolqfqLs3ehzGtgYntRTK/C1Fz2e1x6L3BiJ0GYk4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Vl8Uz6BrsaOEWuQtj9gIe/n7ucaIrK5yJYqeCGJ+SIYdVCRZqAn0xtqHxjcunkqkBPIgmfv2Zr1Mruw1qro10EbGxTfjFLhFMdOaok7wSeESLcpLDiSSHk932Skt0juVI2VeUA1VTeB2zLn8U6Nuq7m+sZbC6cl4x7LwYDmvtBk= 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=WJSKGLFb; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=i//cJn9b; 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="WJSKGLFb"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="i//cJn9b" Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66HE94ha2125000 for ; Fri, 17 Jul 2026 14:46:36 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=ZDrBspdOlaS i5AteoQZ2h1DwLsN0BlKCwWO7NZ1k6s0=; b=WJSKGLFbMyVOizPVAe1QCbntT19 MjaP6YIp8+oldMH7QRfinWFpZeO05GYQUbmU9+heMGeJ4d6pK0yeOqC7TuFnB6Aq zZ5zBDaBLNnq3twuKzsduuqU11NVKvjSxrYINKLEmULA1XKihKqDOu9yvElFj9hx etdeG9h5ilAmb6WLNnANz1Shvp+nq3JAlZuiVoViWvNaqacmH4Ii0PAc7jXhXtTo M0MYtllxR8wnvNXMqxiwt/r+7bBx9MJ5ceUPXSYqEWAFkYgwZ51FQCRb4zhFbZU5 fyRF7vNP5AUboPZWtpvbhBkg5REbUQX7Q/eSUrTt5euAICRC2ApqkzU5zqA== Received: from mail-qt1-f198.google.com (mail-qt1-f198.google.com [209.85.160.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ffe0ut6fu-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 17 Jul 2026 14:46:35 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-51ebdfceddcso62154571cf.3 for ; Fri, 17 Jul 2026 07:46:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784299595; x=1784904395; 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:content-type; bh=ZDrBspdOlaSi5AteoQZ2h1DwLsN0BlKCwWO7NZ1k6s0=; b=i//cJn9bcFgFOgrwQ6J2KdVp9xiiWL94+Z61PUrHlbdVy8b0IyzTjb49Rjm9AqJidz 2rX8nfSM7DvVsIEfaf7enilCoWiNQewZZ5fOyyEIg2pwDN1bzpqbuc7EHm2dQHFhYYRt TTsLWFCyE6bqJm3WjtXjootsvH20wWUMjYrNh/eo5E1bvNJ0s1GXAnjHmJKCOY5jp3LI 88Lfk6n1U9dh5JFJv8YbmnW/67qXeeP1HbAj27ty+CdvpF74zRfmJeK4P9EtOkvKlxLS q6LS/vgbysiEFOfBQH6X2XwaMtIIF96dfLrDRBRr1q4ocxhCsgSgGja1nZ67QXwzhZ1E cvog== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784299595; x=1784904395; 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:content-type; bh=ZDrBspdOlaSi5AteoQZ2h1DwLsN0BlKCwWO7NZ1k6s0=; b=qBf+Nzom+HgrkeuVxAW1LVCa1lQUgvR8pRMsggQLSCdyGGo16sM7JAvxolDQa0YOaL QxoTc+wAXb3JCCU/C5CdWkvoHWfCIsWK1eywpxkrsaUSGr5RU1wpdnaMkRw7C5CT20QH 5IYfSzvLnQ2awk3gebYdUKcO+BF1unE+rQraDTEUjWkhBq8bSnBG4enEJVXXop50tMEe 7k9b1H8jWOXXlHECkrbQOfg3zAaSSB/bA9WOEkXb2+hB8L4Qh0CzHIQbJlJnvw2WHtkR 6ApQ/XTtgdWvund1qfLlDmy3aCzsFujZeEa+bsAFp0ISROFiVfxjBhfttRJbxcAJS9te aqtQ== X-Forwarded-Encrypted: i=1; AHgh+RrpVCkKB7uVPlGGVYzVV5P5ih5Rjd7orwH+yoia6S2iiRJYVGG9pdSAer8qWHKnMlBi5f00+IRrZqf6bwU=@vger.kernel.org X-Gm-Message-State: AOJu0Ywx8TzVxf7pGCv2GSf5PodBgpzY4pYp+LAGXIDupQTZ8N8UcgFL 6nR3MZgNg8Cbfc2QIhB3ZzFy2LCuXMZxfWzXLzV3UXHwYuAbLPfH3zBmeON4oPvuuixPrXNd5hp +Dns33nNyOlkC/YG0KLK4c0h6LbtyV9fv9CXNvJlJvlyhdtGPnFIfretzjzK8OhslMAY= X-Gm-Gg: AfdE7cltpipUlsBgmn1bWaV7PVdLgZI0KbZZCFhAWisWnKW7q/daytdsbQ+OXuQdmC8 TkrQJwsNsw/mVHtzZ8+yS1WS76JkucldnIn0x6+CRvJSKXLxAe7JJa7T2nrL69fmHk1MFgsYHoF DT1YUKyr3vDUJ9CIetTiIJRvq4wteMX35qhzEmcti3Mw+CmWvwwMVJDfGQvC+BEYOG/Q5B3CVVE rSUqftcQsyrRXZbtO0B3mP5aEiNEtffPj15CA5kF62671tu1mS4FlgtdCNQ8B7dqyAgJrhdj3Oc kn8Gahqz1NXsH51oWoRG9/mIEyx3F78+hJlFpymzVUexl+gYOfWzK4Si8LBqg3yIHSbfS5bDTrG 6hidZUb3YeX5QbqjwLA6ykGYY2Vw= X-Received: by 2002:ac8:7d0c:0:b0:51c:94f:8ce with SMTP id d75a77b69052e-5213c201a70mr26554911cf.34.1784299595068; Fri, 17 Jul 2026 07:46:35 -0700 (PDT) X-Received: by 2002:ac8:7d0c:0:b0:51c:94f:8ce with SMTP id d75a77b69052e-5213c201a70mr26554441cf.34.1784299594533; Fri, 17 Jul 2026 07:46:34 -0700 (PDT) Received: from hu-mojha-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-52149a3ce4fsm13414801cf.0.2026.07.17.07.46.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Jul 2026 07:46:34 -0700 (PDT) From: Mukesh Ojha To: Rob Clark , Will Deacon , "Joerg Roedel (AMD)" , Alex Williamson 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 , Konrad Dybcio Subject: [PATCH v2 4/6] iommu/qcom: Fix pgtbl_ops leak in qcom_iommu_init_domain() error path Date: Fri, 17 Jul 2026 20:16:06 +0530 Message-ID: <20260717144608.3216274-5-mukesh.ojha@oss.qualcomm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260717144608.3216274-1-mukesh.ojha@oss.qualcomm.com> References: <20260717144608.3216274-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-Authority-Analysis: v=2.4 cv=deWwG3Xe c=1 sm=1 tr=0 ts=6a5a404b cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_glEPmIy2e8OvE2BGh3C:22 a=EUspDBNiAAAA:8 a=pv9nQ82OMFi3fEhVMZYA:9 a=dawVfQjAaf238kedN5IG:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzE3MDE1MCBTYWx0ZWRfXzObq7uVikfWN 0SvfZRLryujIAVLc5A7sp30i3ZzuAbcmrhxMmoqNwBB1qlQWzW588k/KCyiEOHCgc4xCahQxmvL pZT7olC+duZ21aOhon2Y83ByF1/sKKi8gOxgIH8i6jdzVOWoOy5c6oViVtqTne50LEY6NzfncZQ fLIxUJB0B1LRNR8CAI/WKVdCAY9Udst0Yo7yRbjSaFD6nwE6oGvSVb1RXZTep/Js5xM6ByZD3MP 0g3uE7gq6CV6wVz+pyMrvXiG8tTPO7gCzh9JIEwlE/w6YuOA/r7B1UR5sdYKChkbFjJluVXTirw zavpLTWMy0a/Blbqm1aIar5vi/9NzCtfqmIKnPf4S9CkakoduOXkcz6fXquymv2BYHaMctycUTM A/HlQaC5RDg63LUeWbitcsoioHRlOI04wf+4LgOt5kYl6NzspoQx/2DtbnitUafEH0HbO6LULKJ dWNgM1qnIh3ULNRAUXg== X-Proofpoint-ORIG-GUID: X8yl8xIabhgH_lFYhCNKyB13ESF9vqCq X-Proofpoint-Spam-Info: AW1haW4tMjYwNzE3MDE1MCBTYWx0ZWRfXwwgviTqi9xh9 M1FLffkbc5KhRfdggy+vWVZ6TycU9twQdXiGU7jZb75rOKHbSCINOVFGlrW5Ug1nCOCwmNISfti DmlBNuxoUuYanB/vqWog27MwbSBs3/c= X-Proofpoint-GUID: X8yl8xIabhgH_lFYhCNKyB13ESF9vqCq 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-17_04,2026-07-17_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 spamscore=0 bulkscore=0 priorityscore=1501 malwarescore=0 lowpriorityscore=0 adultscore=0 phishscore=0 impostorscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607170150 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. Reviewed-by: Konrad Dybcio 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 1d04f0a19124..222bb7febd03 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