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 A047D3090F5 for ; Tue, 23 Jun 2026 16:09:49 +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=1782230991; cv=none; b=OqKMcVTPF8W+5akLmy4bBGsLbkcDuZx11BFUypbknfvlJi2nyenSo22yCtW1F16kBl1yAgmHV3QcHb7P7VIyKuD20JJQBQGheQuO3PgN2mJCgdRE/Bg/ERytIIjwLz3fC8LQRDtFVr+Ke19ptvl89zv2c7M0sjZjNJe5QopJUVQ= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782230991; c=relaxed/simple; bh=if7r+uTVqsu1Rz1LUUNR5eK8lGZ6SOOcel9CPceNbVY=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=vGig8IiMQAZ+ON/AoXnv+actr0Kka+HaRq4Ggyle0GJXAJZL7da6EAN86wWfPgpVdkFHQmyGk3dwRDTWOxMqDzTYbx3aBzvFWj2MUhuGAm1nxl76QJCiFegMOTY9nIZV+E+6r+K5bs9ZiMknVRdSCDBg8BQ0qPlEeTVTswiapOU= 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=KjEJ4diJ; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=gg1k6DmB; 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="KjEJ4diJ"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="gg1k6DmB" Received: from pps.filterd (m0279872.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 65NBZMdj4017320 for ; Tue, 23 Jun 2026 16:09:48 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= fSJH8206N3zXxZb5NwNeSdYyuC4r9dG7EEW5EpoiYlI=; b=KjEJ4diJ/AaJ0SWQ yvUoPZwlLY2irWcHoyqoihkzjq7etgTOfCN3X1hS4VT3p1D4Czk/aXnLHHuWfHew MIKEs8RiFWGipWvQDCX0y2aNe2GWY+S1wOIgKCcEhZ3eEOjeBh7nLVWUaLDtxs3F uE3fu+aghEiLN6N1irlBgVzIfJBheTLeYBLmSIOHKY0Yz/9c0t9baPmlSFJ4Y9lB 6/ZVNvaY2eHT93FAuHitpQqiOOzjZHUWCtJXZv38JFzHAI3frOoZPZWCsH3+xZX3 amLiybRjVVD9RTUbuKsdTdKuH6c8hCmEsAvYzL7qp7dF1pdkdG6Hl53kGFwEdku+ fKONAA== Received: from mail-ua1-f72.google.com (mail-ua1-f72.google.com [209.85.222.72]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4eygkjk7xr-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 23 Jun 2026 16:09:48 +0000 (GMT) Received: by mail-ua1-f72.google.com with SMTP id a1e0cc1a2514c-966ca0b440cso33806241.3 for ; Tue, 23 Jun 2026 09:09:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1782230988; x=1782835788; darn=vger.kernel.org; h=content-transfer-encoding:content-type:in-reply-to:from :content-language:references:cc:to:subject:user-agent:mime-version :date:message-id:from:to:cc:subject:date:message-id:reply-to :content-type; bh=fSJH8206N3zXxZb5NwNeSdYyuC4r9dG7EEW5EpoiYlI=; b=gg1k6DmBaObcxG5gd+CcmuxU2Tbt1GxfsFJ+5x/qF81q8+u2z9GvwIhtN3yom3v9ag TatLtVsZJU9BlXfOluKdI0eHAGE7BICoSlmOpSkqbTOFwU/r629U4M2/J1RrX6ctT/AZ xlfvM/tAvMRQJdx4EEeoeVV/TDHld6BXFaSwjFcES8RXOciBfXHk/SWdW45/AzPLOYl4 Ft/yRD7N0tnVFNpfHlzhHJ7JVZ8276kxo1jmzbg8OriNpOV8EBAIajEKLJkxBUZMqiAV jqz13/wNZaYv3dkYimGejVz21bs0ihwp2UyQSJb46M6I2g3KqNcVLzALFKbUZb0JNZgl 20NQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782230988; x=1782835788; h=content-transfer-encoding:content-type:in-reply-to:from :content-language:references:cc:to:subject:user-agent:mime-version :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to:content-type; bh=fSJH8206N3zXxZb5NwNeSdYyuC4r9dG7EEW5EpoiYlI=; b=XSnFXtPtisatdBwXnx1p+SLp9L0lWQVa6kJTwVx7wgP2yDF8bDC/Wn3Kw4ZgLla3Xk DqPLQEsAa87V6tPsaoCIjQbyew2ytQF80J79VUWOFyTgAz+vY7R2FBqYNg6Xo5iN7my2 kMzBQJoRTPTw6KIRGlhIia8NNbb7uWL58NdYF2XqGtgwfGcZmFFM4McyKHjFaSPt+uiu 1ai6Do3DQ71x+9xoUcDnHaa2/F3tjlUHdvF6/q7xNKJW7ixdmK9Ik3IBd/GxfYfyj/0T H9uNtP+GE5Hd7Xf+APT+NEQd6pBmwJABbm6W9Qdi6DjaEGckgjBglUZ+0sdSDK5O+dDb CvHg== X-Forwarded-Encrypted: i=1; AFNElJ8apN9Rn6z5Fm0Nf2i0osjhb66aOr2qCO/eSTd8jxT3uPUMAXo/ZpzG7eHohivj+MLgIF1BWH2vBQpF5cs=@vger.kernel.org X-Gm-Message-State: AOJu0YzSf0ZKKb/o2NZro+x9gu0psYzNTLUZabYoIw82fRSvYIU3Gq2i VAmw7dOHxpkiXYK15a9eOruHsE9gUKYEjY51ZSKs2Ra9wi0ZdlNPXslGjEKvBcPY3FFOLILccPz 5+FXdk7fn8XRO5tUlopNcRk6CCOK9P2hCdaV26AkM2evOKVBvz8SDZMM3zUK267ZTQ8M= X-Gm-Gg: AfdE7cnSwzYvUu1EW6gMlW9l0K6uUZdjTBv+YYtTuxXKGaVQDI656b53l4Wi3f4o82s LsSon+pZpB5fhuipO4LeirB+oqeIEiwezn8Le5APPFYuLTJ/+n6gLLHS6kiQfKpP93AiEVGeiYS LgGdgTWDMlcN8gUZxJbbv4/rdiS76Y8UR3icBTqAo9TVaZCCt4WHjgbQuODDaj512lzRd7A1ttb Ul70PjGZqdzOp+2alfBV50dwTKYcZYZwf/8+5R008BXPHNd22HyDHo1//MORFD5tasTLvu8BE8I 4Sm4o0z4y354ZduYoL7pq8QkMuiv5j4QtkTH/+EKsh+zY+diU9TWK3bcSPLl4pmbRY0uxdEMbN5 9A9uOx404TxoJ46i7EDNLAusBYemH3jpIX6I= X-Received: by 2002:a05:6102:1620:b0:674:84bf:8e0a with SMTP id ada2fe7eead31-72b16d7a278mr3803417137.7.1782230987812; Tue, 23 Jun 2026 09:09:47 -0700 (PDT) X-Received: by 2002:a05:6102:1620:b0:674:84bf:8e0a with SMTP id ada2fe7eead31-72b16d7a278mr3803389137.7.1782230987312; Tue, 23 Jun 2026 09:09:47 -0700 (PDT) Received: from [192.168.120.170] ([178.235.128.140]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-c0c5e99b968sm536990866b.24.2026.06.23.09.09.44 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 23 Jun 2026 09:09:46 -0700 (PDT) Message-ID: Date: Tue, 23 Jun 2026 18:09:43 +0200 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 4/8] iommu/qcom: Fix pgtbl_ops leak in qcom_iommu_init_domain() error path To: Mukesh Ojha , 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 References: <20260623122034.1166295-1-mukesh.ojha@oss.qualcomm.com> <20260623122034.1166295-5-mukesh.ojha@oss.qualcomm.com> Content-Language: en-US From: Konrad Dybcio In-Reply-To: <20260623122034.1166295-5-mukesh.ojha@oss.qualcomm.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjIzMDEzMiBTYWx0ZWRfX2ch9jbQjrkeD Lp2FA+kbvPzHqdwKjKMWavgxDehlElq1wMTO7tEQ3h/Wm42dcWOaN55mHawa5M2dbt0jihZqP+7 czTTFRGkUe41yXpU2/RQQDVis/FxPKwVpah04etC8iWHBQVB4l/8lHhpQFGtwCQG76qNxy+mhau fiGHKAd3ns1LU+AJdR1AKYsItcwpPxG5tAWWta1VRHoHN/dVVxE0ls7UBATta/Zy0xLjlItPsq+ /XHopoA54hfe7ZlWtdvCKe61DSMFUacwDMs6/smvO9XYPwbyrZRIGqbW7CSoj0LBz6P+tDWFY7Q afp0KKgwhvX6Cyjn87f/9rEiU0ZsmEqYV7oWCwSH3Ij4bEvp9GLSLHy96x9RelksvURnK5zhX25 dKOzKwjOzGhJm7o8fd44yaYkWwBcRE2P5wgGZ8t7FDADvTql70YLEs0UqEoLmH86ZiNCiLbIrIs gRMtvrPrwpS3IRpmzIg== X-Proofpoint-GUID: z9W3axpipl96TpRF3w4sRT3384kJ5hOC X-Authority-Analysis: v=2.4 cv=SoKgLvO0 c=1 sm=1 tr=0 ts=6a3aafcc cx=c_pps a=ULNsgckmlI/WJG3HAyAuOQ==:117 a=PRfkaYvzSr8QmIIGAkY2Sg==:17 a=IkcTkHD0fZMA:10 a=FelO9ux0wxsA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yx91gb_oNiZeI1HMLzn7:22 a=EUspDBNiAAAA:8 a=fzWtvpM4OtHSxDPwpw8A:9 a=QEXdDO2ut3YA:10 a=1WsBpfsz9X-RYQiigVTh:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwNjIzMDEzMiBTYWx0ZWRfX8juf3M3xqBO/ fYmOBbTqspXisFLOJ5pUPxOhaWWyrAXh9xZKtacpykIFsNejcoDpKid4NbvjEL7GvozgNI8rI2+ 9XX9/BfDkH4cqQ2N7Qfv8Yl3ktxD4dI= X-Proofpoint-ORIG-GUID: z9W3axpipl96TpRF3w4sRT3384kJ5hOC 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 suspectscore=0 spamscore=0 malwarescore=0 priorityscore=1501 bulkscore=0 clxscore=1015 adultscore=0 phishscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2606230132 On 6/23/26 2:20 PM, Mukesh Ojha wrote: > 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); This label also jumped to when alloc_io_pgtable_ops() succeeds, but there's a nullcheck inside, so i guess it's fine Reviewed-by: Konrad Dybcio Konrad