From nobody Sat Jul 25 04:54:59 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 2A7F442B312 for ; Fri, 17 Jul 2026 14:46:22 +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=1784299585; cv=none; b=l70OMAs4Fp2ET/p7r+/Ta2M//4k6Q9w7xvQxgB4LCCtmnXTRP6Mw04f+jz9s94Zt/hqTACbBSn8gv5aSFv6db9VrMu8XkhAmvw+zLECQBvn6+K8OEp/vFMXxat1XSOmqHF6IX/NzH5hE0fmp/ZVc5DXua0gcJ3A68QSc5FlRkGM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784299585; c=relaxed/simple; bh=MMP0o0/wLxlkOACAQ1AZ23luEK1+TS0ogSqOvAnVWdo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=Wfq7xhMwteNXPuwyEqxB/As0J6eRi1ZySGrHPXJR6atyEyp1URR+g5wv5TG996KuekdjjT4J6ir7MIZ51VaYImBMv6BTx/rBmYrN6vvKNFfzXbrR635cEm4bF5PupY6uYB+9vw6hiWqg+BbOtOIB1cvoUnsEc9ehpFiji5VCQCw= 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=MsCNE9vS; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=E7Uafncd; 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="MsCNE9vS"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="E7Uafncd" 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 66HE7rQG1838944 for ; Fri, 17 Jul 2026 14:46:22 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= WqxH1zDa0UM90FIlcAZOeYgVcW9oIh+YtN03t/bfm5A=; b=MsCNE9vSa5V3v0T9 TOh0LvhG/ngqx7nbQ/VvRAqiPY3pwCGdJTulrwpFROazkDyqkzyxUDiED9tyqZ+y n+8QI/OcSnJq2dK6Pca9KcHGnPdsOAAjw9o6Z/Txt+Gpv2OG2X+UOB+luWz2Cegs LW5PvQLMtKAL6qvqzCpYsNPm239q9d2FrHBZe9clnkvRn++bnOpZjnOwAAdrUcHU vDDP2m6dkTbHxcQK8qyfLynvyZ/5dpOZFrRfuWKEFfT9sq5DVC7VICg6T27nm0eF wMftm7oQAIebMugVWdRBjRfzanC3WqUgE9PiQ2x5o+DArmArvSmLAIX2lru0XhGu 5iuw9Q== Received: from mail-qt1-f200.google.com (mail-qt1-f200.google.com [209.85.160.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fffag9rex-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 17 Jul 2026 14:46:22 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-51c21c01cf3so98151211cf.2 for ; Fri, 17 Jul 2026 07:46:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784299581; x=1784904381; darn=vger.kernel.org; h=content-transfer-encoding:content-type: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=WqxH1zDa0UM90FIlcAZOeYgVcW9oIh+YtN03t/bfm5A=; b=E7Uafncd6xjaUVmQaybn/6K3f1YG+h+dzfWYQ13b3X3H7G3C6P+lxV46E0lmx5tiUN kwrI/wx9ObIUsNwFyxOGdcczYkRVcf/IY0zgfqD82XhBJhgnTvqyrZTiBemJa4q6YV1o mm8yto4tr6wS/io1KIEdnSBNLUdOBjLpRbc7Rbct+SRsbMuhyxHyFdTYuTQ/t5jrKuix qBpnk4Oz3sGIxzis1+lR2qk8EQvzG/FpdKn6ukPAeeccV6UcxZeSJG1mt4ESrpPVZFq9 0aIYd0BvBUoO43PNXKmGeRwEuwyFzGwOovK5OPmRu77+5sNaou9HYl22t2BaMH1sXP6m Bl/g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784299581; x=1784904381; h=content-transfer-encoding:content-type: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=WqxH1zDa0UM90FIlcAZOeYgVcW9oIh+YtN03t/bfm5A=; b=oIXlXGd4Sbo4mE0lrirXTktXGVfenn3SNlWZqNF6ktYgKBD69N3OHV03L9wAEPXyp2 bRR8TzVu7O72UP1UxZPNsp7kmPQ2xwTpGq5wBEimWgL2s9In/DHI2TEXLlcDoltDbag9 xg2EFX3uX1WtnSoKeSD5Uj+Q83AsuK/QdoUjvFiGmiAbrQ7x+dgWyU+AHMsFQN5+MxcU IvTv2lav4qrvCDLrg6XrWxe1R9qq2e741MCGISycZ29u3tk5PRlKU4jLZcjSXky1zIC/ RBfGb84bC0pF2dQVLFOZmEzaF9q2c2KQzR46H52krLCQddYqcOJPq5xDsF2/uYRJ9yM6 CoaQ== X-Forwarded-Encrypted: i=1; AHgh+RpTOBmDtyztQd7uaOFGj9TXk5VzHP/Zhio5KV8OwnRC60WstttxMREmGBmGwNE81NbTPBnFLklUIPSsDqk=@vger.kernel.org X-Gm-Message-State: AOJu0Yzzr64LffEeYE47ZX7RC8tU1EPiyTYFZPpmynvVtMxQX06vWwIT tM0G26/jzGXAw0UpapzJufBE2nyQzW1eVfScAdrJ43XoxwOsKn2uHMTKVOOD3r2dbWNdbSlaN9+ xbuZbfToXdexl3iyJ4IVsuZN+vKAudHPtmzudFiL+35QBHyIjzlGBedeITFy+0ru41IQ= X-Gm-Gg: AfdE7clKs7cnkWVOKeLmPNdCwhkIxwAMiYiGY7iVGlRgs4zfQfeslIbNqmRSDOaktBX KnjDhm4V6pYqHNC6FIV4WBIpzPIKsQkXFNAWNdKtstNqyxBnOXZ9FvsxqO9k37dSUauaOy4WlS7 m6YXmIHtKiItiDf6F4ZaBgKQg2B3noK8/xJGjxFfR5znXdXxNG76hpLDUFC1n6X9rqNLK1b6q+H 7Fr0oWO2Gxgqo66z/dVNvZ6k+1w+fOPI6OwfS13F0YaQ2MLPhNJLDkmcCJAUlIffJaAYmDQYigJ C1J7IBN16Jue4hQj4UGlUI/DN3nR1jXcsaQxxRbeenc93rRStHIx4/8AVSibPRuoZ6wfEhD1jMs dvPsdSewvNh/NEqdGLuDknIuDhCg= X-Received: by 2002:ac8:5d88:0:b0:51b:eb55:2916 with SMTP id d75a77b69052e-5213dba36cemr24144021cf.34.1784299581268; Fri, 17 Jul 2026 07:46:21 -0700 (PDT) X-Received: by 2002:ac8:5d88:0:b0:51b:eb55:2916 with SMTP id d75a77b69052e-5213dba36cemr24143621cf.34.1784299580715; Fri, 17 Jul 2026 07:46:20 -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.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Jul 2026 07:46:20 -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 1/6] iommu/qcom: Fix inverted fault report check in qcom_iommu_fault() Date: Fri, 17 Jul 2026 20:16:03 +0530 Message-ID: <20260717144608.3216274-2-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-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzE3MDE1MCBTYWx0ZWRfX22ePIfnDmkoa oDHxpis2Dz+g/9ZNyrBZKGPZ7o/NexyeuQcuOzR34ZXzdPRLpaNqYoQEnBVrkJ4oSOIdEIH0YHw Engh1QB7GfUdDuli0ZrB4FThkBc0u3XCg3TcirWG+JbHHxIsZsEylqkKjFeJjsurEP0oYcs6lbc 7OY8Nu00ycGBy7u57+VOer8w4GxIkDCcee2WZZDHc6aQ7M0MNJ/aJed4P7Og5ggCkSUmNyUkroy r6GslpBSR8X62jqcV3ydqAi6gw5PXh54MgiCkdvl1xi9yVxn5IClQdpkcRX6wy9Ww96ZhTGSzS5 VzzUs5LqzSI0op1ioFpF+AWUz2qxBL9vxGtNk7mhBJABP8vwRjoK31gpw78LUPu82B12iF+2Trw uSNwPQbGT63QKIEoAZ0RIG221UBYSuLaccDnpDs52rAHBfPBDMCaXY0sL+M9/CyivAt7NEI0ILz nbCcNeviYA2QTzYmJkw== X-Proofpoint-Spam-Info: AW1haW4tMjYwNzE3MDE1MCBTYWx0ZWRfX6OCRy0gf/CZd UI6k53+J4XKpXZnezal4pShhIb92sgUBpY64pzkwFxM6ofHj/BOnxjjcf5amgU3tYBgRZY0z0Fj 8BvmPoPsd705Qluc5jPyK+7J5Esf6yA= X-Authority-Analysis: v=2.4 cv=KZfidwYD c=1 sm=1 tr=0 ts=6a5a403e cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=IkcTkHD0fZMA:10 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_K5XuSEh1TEqbUxoQ0s3:22 a=EUspDBNiAAAA:8 a=xmDQi4VeJV1Yj6r8B4kA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=uxP6HrT_eTzRwkO_Te1X:22 X-Proofpoint-GUID: 1_MJr3V9QKnmnmeVEbuHLpc2stxE34mI X-Proofpoint-ORIG-GUID: 1_MJr3V9QKnmnmeVEbuHLpc2stxE34mI 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 priorityscore=1501 suspectscore=0 clxscore=1015 malwarescore=0 spamscore=0 adultscore=0 lowpriorityscore=0 phishscore=0 bulkscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607170150 report_iommu_fault() returns 0 when a fault handler successfully handles the fault, and -ENOSYS when no handler is installed. The condition '!report_iommu_fault()' evaluates to true (printing "Unhandled context fault") precisely when the fault *was* handled, and stays silent when no handler is present =E2=80=94 the opposite of what is intended. Remove the '!' so the driver logs unhandled faults correctly. Fixes: 049541e178d5 ("iommu: qcom: wire up fault handler") Reviewed-by: Konrad Dybcio Signed-off-by: Mukesh Ojha --- drivers/iommu/arm/arm-smmu/qcom_iommu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/iommu/arm/arm-smmu/qcom_iommu.c b/drivers/iommu/arm/ar= m-smmu/qcom_iommu.c index 32efef69e72d..09f2ee6be988 100644 --- a/drivers/iommu/arm/arm-smmu/qcom_iommu.c +++ b/drivers/iommu/arm/arm-smmu/qcom_iommu.c @@ -200,7 +200,7 @@ static irqreturn_t qcom_iommu_fault(int irq, void *dev) fsynr =3D iommu_readl(ctx, ARM_SMMU_CB_FSYNR0); iova =3D iommu_readq(ctx, ARM_SMMU_CB_FAR); =20 - if (!report_iommu_fault(ctx->domain, ctx->dev, iova, 0)) { + if (report_iommu_fault(ctx->domain, ctx->dev, iova, 0)) { dev_err_ratelimited(ctx->dev, "Unhandled context fault: fsr=3D0x%x, " "iova=3D0x%016llx, fsynr=3D0x%x, cb=3D%d\n", --=20 2.53.0 From nobody Sat Jul 25 04:54:59 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 9FA6A42A7AF for ; Fri, 17 Jul 2026 14:46:27 +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=1784299588; cv=none; b=J73H4LxBzKiVu+WConajHcXVWFxcA4YFHQJv0x8m5Eu5hQfWNlQQxR4EH8JCbN67MNLEvDm+8hqPueHJ2Y+fMSozxjfWf5IXx3IDROBpQuPwiAhKnU30OhnnBEbRB2H8etNvBLybBGUB/X3JpVqO01HhSKL/H9OX9AnljW5A1rY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784299588; c=relaxed/simple; bh=SHMrIaS6yHyhN7hIfNsSI2APEMkhBUx3UNbQJXjB6Ts=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=bslFpWv4CZCtsGawMvH2TujGhuRZMZ+jUbXpPIOwh7D3w9h1lLDcc6PO0ssog2m96WwLMN/j139RILxr8Nj56UlvFsdj12GpP6WXGpGLm0bNpjjPb4NwssBEXkbPFBW7xfCjLFtU7vl0SuKE/ucslPmphAAdcxbUImbvFwl6cWA= 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=XLhoDabl; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=ewju07kD; 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="XLhoDabl"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="ewju07kD" Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66HE7rHb1973903 for ; Fri, 17 Jul 2026 14:46:26 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=IJVHSO1u6a/ Hfz7sqtNZdF678kjFyDUjw1u5+bJ5TaM=; b=XLhoDablxd/mhdo8ez1693QDxIF 71qWgd0edCXFj0Rz1v8wKBbgAhCquMMXNm+QLqj5/FAlDufws9TACRMTd12vW2cF ylTN3CiwKhIUtZ8OMTz0I0UgauYIh/7GwEXI99vvk4/Ub81O/SFbonTsaq2dyzuI HFLJUEffr16K9D4irXhtqDpnZQY6SZTPpKZ5mehuhNsxFjMCFNYxz35TcQUT3Qjw veTT7Ikt6A1FvwSjmkTcC54cAy7oDD/kScH5rEL8td6Kni+fD4ZNFNfXAIzlZRpd HbBh7lSYfARwPIaOu+Y1gUSdTjL3q/JUpukcqVVyjzBkptdPkSzttD+fW8A== Received: from mail-qt1-f200.google.com (mail-qt1-f200.google.com [209.85.160.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ff2f2vpx5-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 17 Jul 2026 14:46:26 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-51c21c01cf3so98152511cf.2 for ; Fri, 17 Jul 2026 07:46:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784299586; x=1784904386; 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=IJVHSO1u6a/Hfz7sqtNZdF678kjFyDUjw1u5+bJ5TaM=; b=ewju07kDNwPZ6Hiw2ytfRxGksTrupM3In9rsUzG9qbUQHeqjXUtj7n+P0kfwidPSf+ w8ztXT4J+1Z5QfztGyMRlp5pzrT7pDCpGbwGt9SnZ612F9zTjeLAJ/Klf4aYlOjtJZZb VZYBS8/jTbXked7tzLrdtDo4SHY5Sk8vJxI0//G+nKoEHJRG1wEH6JaPC0z3EnKTG/JV hPMhL8C1KYKQT1TOWPlbvK7YZSDWCvwwqIz8fSlY6e//cacO8lzESPq0V4xx3EP5/xIR hp4UdoU3gK95WF3dVBQLw3MYnIz8kn01MOkam+tUQXI86Y4p3J1vZVuslUnlNY2Aud9g TV8g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784299586; x=1784904386; 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=IJVHSO1u6a/Hfz7sqtNZdF678kjFyDUjw1u5+bJ5TaM=; b=a7Uw1qtP5u9hMRTQLMWhMkgxYxzY46XZGxeJICR6T1X3r/NMK9bTnNuI9jZ6fW7I8D Ulo5X1E2IW9o5g+Vy7VffawCzcmj8wOGTDZaIKNtCFUMhaSks04TmGtgHrSH/CshKlJs RhxBBHSgs3/kmu+v+BxpVOplqJSbVkC+BdGCfFzK9F+7sW+LqlVRo+/p+RMxk6E4VzBS tH1wTPDlfOJUiMy620AaYre5dkL3XkixtNgyj7OD2/bQBzwCMlIpGWfQ2J52Zxm6ML2p H+17+ZM/Gn4GpJOXziDTSoPN4AeS7fbAFB5EMNeFCNUDPKGIWOhBb1Fzd0PHFS76sQAe ZTeA== X-Forwarded-Encrypted: i=1; AHgh+RrB/HtPEC7pxT/96YzoprvCR5qd0BNXDp8snABdr5JbYEmltHllTIQ/Y+zr5svKvn4AJEeyfvUClojFbcY=@vger.kernel.org X-Gm-Message-State: AOJu0YyrYwB2Ny7AhT9RQLviOBiJZtp5IkxR1/CpnrdPjE9OCqoEUda0 ygjhMe0QJ5FSbEQWZUXdr1RR3yWBE45POP/TllSk1LHFpui8IpPVJX/zGmUWZSJriiIxeJcGdp2 sPqnVhT2mPBRprLhLYm/SwH/Lp2C0yqFY1YQTsA6YsK85iJ8icSmzfZs/bN1VByrGfhI= X-Gm-Gg: AfdE7clCSyMkzvCtol4g8JF/EgIsPwkhEj/XbrYfysoMFHsGCepJdNbFDF7OTfS2Wgu Q8ty0/ZjvK9jkhuFsZmWoYgt5yEL2b5qWhY8KSw5pmrwk6iFsQRQBqbof/wc8DBDDVQNFMR9h96 6YVQ8Ohc8VcpPtZ5esXyBavvnb1acD5jqf2p6DGWaf2nfu8mb9wsbt6hTNI4rCP1vZhAM2ETBxb 5lq6i94Rf9TcR5LvtG/jLCpyq8NwOsXDPhx4zqyx4MGFtH82rTHAw2gbHUoDNvYWDyI7BoOTk8Y ZRy5t+B8YRQ9QSAvG2a6OpsVPQOjOrSdpR5hV6V1YAjaTSFINI/x1e7MxCmaHv8pCQjFTwPCiTK fo7zrpbvu7gm0tio7Pg6e5b2SOqI= X-Received: by 2002:ac8:5913:0:b0:517:6631:101b with SMTP id d75a77b69052e-5213f66b7admr24607091cf.55.1784299585618; Fri, 17 Jul 2026 07:46:25 -0700 (PDT) X-Received: by 2002:ac8:5913:0:b0:517:6631:101b with SMTP id d75a77b69052e-5213f66b7admr24606711cf.55.1784299585126; Fri, 17 Jul 2026 07:46:25 -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.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Jul 2026 07:46:24 -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 Subject: [PATCH v2 2/6] iommu/qcom: Use devm_pm_runtime_enable() in qcom_iommu_device_probe() Date: Fri, 17 Jul 2026 20:16:04 +0530 Message-ID: <20260717144608.3216274-3-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: quoted-printable X-Proofpoint-ORIG-GUID: QznamZMI9_8e_rr9iiOOe4I4bWQ6Imm6 X-Proofpoint-Spam-Info: AW1haW4tMjYwNzE3MDE1MCBTYWx0ZWRfXynXNQwXKiMeP XrW6jFa1nFsVJWsSgniYWwdiop4oFM5/8wKoO6PDTr9YAtzvb2tgkph3v/Rq0TPfBfIrF41doSN 3tkHcXZhcHFAy2dYBpJkHtzCl5+gkEc= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzE3MDE1MCBTYWx0ZWRfX7nNLYc+AC/iN E6gP296y9clQb1qo54NvGkkTr+xJ2EeAQS4GILSkZBWHoXmeZLiRIDNSyTyYZjuLsSNLIMj/GSD HAZZO9zcimkyq2VsnaBhVeM9trsauCa2BvyHxWsCqmoWAGZYD/uerZKM2Zu4g6UluoxQrU5UQdW QORo/S9K7rlngZy8wVGwuljnhc7TjOpXLcqU9nvzd+U8y7P7aRI+wla0/EFuxmFSeIkfor1kSyE fUw8LIk2wXy8t2O9iWWeQX5LBGLi5B1dOqH8TCiDzy57srwfBSzCasuePSeXVmrNKTg68wN+Ms7 IEORNuksMQx0UL6RqQuIsz4IOowc/adCPtVnmtBZ8amFeB3RQUugNBJAEuP2RTUQL58BSFP0oLc 3Dq6M8ursIOlCvOD4az6WszlSkUUWf8el/QVxwyZbl5bConKzptg/5eN3GU2yTm8gZebdkj9E/y 4wnLl7eiOwIOZWt0Z7Q== X-Authority-Analysis: v=2.4 cv=NcTWEWD4 c=1 sm=1 tr=0 ts=6a5a4042 cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=rJkE3RaqiGZ5pbrm-msn:22 a=EUspDBNiAAAA:8 a=ZhKRi010OgpVv_9PQ1gA:9 a=uxP6HrT_eTzRwkO_Te1X:22 X-Proofpoint-GUID: QznamZMI9_8e_rr9iiOOe4I4bWQ6Imm6 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 suspectscore=0 malwarescore=0 priorityscore=1501 lowpriorityscore=0 clxscore=1015 phishscore=0 bulkscore=0 spamscore=0 adultscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607170150 Content-Type: text/plain; charset="utf-8" Switch from pm_runtime_enable() to devm_pm_runtime_enable() so that the matching pm_runtime_disable() is handled automatically via devres, both on probe failure and on device removal. This removes the err_pm_disable error label from the probe function and the explicit pm_runtime_disable() call from qcom_iommu_device_remove(). Signed-off-by: Mukesh Ojha Reviewed-by: Konrad Dybcio --- drivers/iommu/arm/arm-smmu/qcom_iommu.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/iommu/arm/arm-smmu/qcom_iommu.c b/drivers/iommu/arm/ar= m-smmu/qcom_iommu.c index 09f2ee6be988..71251aecc292 100644 --- a/drivers/iommu/arm/arm-smmu/qcom_iommu.c +++ b/drivers/iommu/arm/arm-smmu/qcom_iommu.c @@ -836,20 +836,22 @@ static int qcom_iommu_device_probe(struct platform_de= vice *pdev) =20 platform_set_drvdata(pdev, qcom_iommu); =20 - pm_runtime_enable(dev); + ret =3D devm_pm_runtime_enable(dev); + if (ret) + return ret; =20 /* register context bank devices, which are child nodes: */ ret =3D devm_of_platform_populate(dev); if (ret) { dev_err(dev, "Failed to populate iommu contexts\n"); - goto err_pm_disable; + return ret; } =20 ret =3D iommu_device_sysfs_add(&qcom_iommu->iommu, dev, NULL, dev_name(dev)); if (ret) { dev_err(dev, "Failed to register iommu in sysfs\n"); - goto err_pm_disable; + return ret; } =20 ret =3D iommu_device_register(&qcom_iommu->iommu, &qcom_iommu_ops, dev); @@ -868,8 +870,6 @@ static int qcom_iommu_device_probe(struct platform_devi= ce *pdev) =20 err_sysfs_remove: iommu_device_sysfs_remove(&qcom_iommu->iommu); -err_pm_disable: - pm_runtime_disable(dev); return ret; } =20 --=20 2.53.0 From nobody Sat Jul 25 04:54:59 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 8158342B339 for ; Fri, 17 Jul 2026 14:46:32 +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=1784299593; cv=none; b=MCm5uiXpX3uEUCrd7YsnlUnOqDCh+6CcjT+n0uND64qSGv5+qSRYg+igIabAtCCIhEEaGs45kEWt9ngnTCGg/juw3eSHMJPQb3jqD5QO55DoGDcCCQeZKdwEMf//DfpeNAMOuHcF929PahiHcrNy8s78FNKMBwkf2ge5nEUY5M8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784299593; c=relaxed/simple; bh=Q5Zhxh+S9+V7GhxrObo3WbR4OQ5znsS0Y2jHcq5ulvY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=lnrJchuBuhXVnP+Obg2iDqeQDc+700MibtUSBbHPfRuWzcaubC0fba1ZEKmAT/C7byxMcEf5H14Sqx+zuAGjmnHdkUEw+elfmdSbLkcs6pPKP8w3zlBnYvFA/Vpg6mgQQ4lQztFIp/u01ZRZzxGlc+4tuPkUQZAD4MlkcgV1yJQ= 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=WpCJWEpL; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=ImM95/gs; 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="WpCJWEpL"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="ImM95/gs" Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66HE88Tk2106549 for ; Fri, 17 Jul 2026 14:46:31 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=3uivIe4Q1p6 JPBZcaMSYc8eXAUuOqshf8Fsi7jMSrjw=; b=WpCJWEpLxEptXN7UO3vw3bvMR2s WRsfv2IGmIYdeQATdBtLosTFLH99BDeuAAaQSZB2qxOkaXZ4rJ61owpQw8jmaRFr VHCZGP9Os2RcJFEbBSA7yF9WCHyXImihGmDuaJK+UQHxXBZOC5EVmn1jBvPbXm6Q mU1BvkjTk+jfb2HJpBszjq6Ul5iH0lPcux9KE3bDLLlOFK2MnjWz05hyKOiSPamR z8bjLw2ZYGS0sfJkwPoJnuobuF+vTsm/o+qr3Ou/pY+7d7JeTlI+oTxbiME5DrmH GvL0B5LiaAcmcWZMVjC4dg5UI2ZyuWgKqwe4LI5b2P+xEcIwY4WZwC7YSkQ== Received: from mail-qt1-f197.google.com (mail-qt1-f197.google.com [209.85.160.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ffhpfh6y8-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 17 Jul 2026 14:46:31 +0000 (GMT) Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-51c2af04aeeso47992731cf.0 for ; Fri, 17 Jul 2026 07:46:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784299590; x=1784904390; 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=3uivIe4Q1p6JPBZcaMSYc8eXAUuOqshf8Fsi7jMSrjw=; b=ImM95/gsEGAJat6TFzK1molspPP1aI5qtHYqIi/OCrBpcSncRHQm8VOfh/EFvcx9JZ ro4Mp6hph8NZNvnZlu9LtX0ANDLSR/09AItolLrds/YA9FM+72At3XvDxdAGHBlTsOSn 9YNw62BUjliXhG3kOHnZv0FyM0MR5kjjEKTlPZXCKLTmJp1RYwzQ0uljAdvitAeyxyAJ dNuiohwLsWZwcHU5guyApwS3JpDCzdQypol/+ibBELpB0SnSI0ZmjdPMJxWS2A94jjp/ PKciK0dbCTYRwP9PJ3/TJU7cMwILNE+sra7t37VaQZp6V28cwaBIhINgShXDsrkT4e5G vmAA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784299590; x=1784904390; 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=3uivIe4Q1p6JPBZcaMSYc8eXAUuOqshf8Fsi7jMSrjw=; b=n9ddPMyH/2OKsRw8LMN3dvhzngKUFir8zfvudHHXC+xcKwKpcb8AmobPjiujrs1US4 240m4PsOFGeSFiCaRMYcG/5xynF8zFVFyrdvx/gn8DRHooumY9yq91RwGwpRs/x0/BDx sni0uFjc+0nilPRwHDHSF7BSBwuSLM/zYWQJfQPJQEiMRgPBII8aN4eSCoxQGia+5trO kRBo7nJlUKhhNuu0R6jCGqOhW4S27KNeZp829itTykyi+ZOY4QgOBDNXdzb/N3eQ4D7x ucN7jbFTCLkzgRSr85DBaEIidPBQL7gMEi/nU47apxYnWcje0NYYEQ+x2zTD5mX+Ixoi aPGg== X-Forwarded-Encrypted: i=1; AHgh+RpCrvi05+i1LQ6tVvqn4qx71kyz8ylu1dJ9LEuMHGgQHA7zvWE8yAufyAcdFX9TGe3uy0E2KmTXob1+Puw=@vger.kernel.org X-Gm-Message-State: AOJu0Yz6AP8gwGPxYJy9nW7o1cr/bQXql/H0No7Lhyyyh4mtTTaQBxmh dVcGBispLuqE78icATXGAAIgeZ5jo6/bublQ+op9Sd6XwQrPjdEJz2yi5K5RPl1O341DzhNbZha GC+zxYnm0AJM0OfY5PpaJjPel2HIVhlAQXYsxpQDSnt8xJdpLuaNQOD2e4B+1aXPr1+I= X-Gm-Gg: AfdE7cm9cbS5Fs8dBouqtxcukkiw5FjEb9gPBA0Fzv2bNIFOoRE5hhw7P22S65jiwfq lcQV7OqP/FGdsOL7Xz8Ta6PbqN34QwR8rv0095XeRESb9Brnu16I3Ejr0K5F9aM1752FDXTlEL/ lsjWZmoEy9rkSJXh7VoQwmXBmpeCvR+IFo0+OMYiG+FuZhz1VaFKjoRHfDYjcSw6kWqHdl9xueA ReFPU1rVMXc1Gxtvr2/egdWfmPlRUus4EsIXvcVxez9gxLJ4YMFE506ldh239Zz+BnAr3Kizrja TB5zcAOUz/XZ8h51cvxFgZ5PVDV3/s+gz20ckOQcXJj6EsTHigCCS7l/MvO8swQBVLAwDa4Eljz OglJ+mPPE7jlzFXjGQqpk7Jja0xg= X-Received: by 2002:a05:622a:410e:b0:51c:fdd:f040 with SMTP id d75a77b69052e-5212b63cbeamr29077441cf.21.1784299590324; Fri, 17 Jul 2026 07:46:30 -0700 (PDT) X-Received: by 2002:a05:622a:410e:b0:51c:fdd:f040 with SMTP id d75a77b69052e-5212b63cbeamr29076931cf.21.1784299589793; Fri, 17 Jul 2026 07:46:29 -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.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Jul 2026 07:46:29 -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 3/6] iommu/qcom: Check pm_runtime_resume_and_get() return in probe Date: Fri, 17 Jul 2026 20:16:05 +0530 Message-ID: <20260717144608.3216274-4-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: quoted-printable X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzE3MDE1MCBTYWx0ZWRfX7HO6tbw9x00Y oDNQ/8jdx1t++zXXmHLrqdCCmd26MWqb5T2yCa+KpOrqWN+m656fJ2/t0VoL2SJRR5DLV4tjZiv Pr/zczTtN9iH2JI13CJ9NZiJDHJ04gOFXSaInFpFBeQrkzHcyPQGE9QkcRCF4KC47yvEV4gAQ31 iQog5R7jqCj2ZnkLC3hqEb7OzwR8IFfdr0wx3lEjMgFwhAhm0phr6daEzqrS1Q4jeh0ij0Z7slt HYXB8LqdxJv3pFHsGhQyOph/RhKFivQoN65rO/Tl7cwmwEI0Mc8DgVu6DdgGp+EcWEixG8YACBC iAU+swFpAM5htcLB37+IRP8KcfBZCVZJVxfoHlQKXhKnJNIlEi+5udKWU8WbKko09df6bOX9U4D 5KzuH0kEVJgypIb+rKfr6zt6tDzE2uR6LxqdaCP3Tx5H799YlNvMJAV0KYYL2iacdLmjrYmXmHS HqPsJCcIJ76JGx5ZdsQ== X-Proofpoint-Spam-Info: AW1haW4tMjYwNzE3MDE1MCBTYWx0ZWRfX0lmHtbbzlBHl gOaM/0pRMSPGbbRjjiJ0W28IVRu+6Gy5AC4mk3qQ/ii4Cp18Fc3I2tQfuR6zL6OOHSPlr635KZq kk7rCUPXwVEZLuOIjTxd40xDvvJnsA8= X-Authority-Analysis: v=2.4 cv=YeWNIQRf c=1 sm=1 tr=0 ts=6a5a4047 cx=c_pps a=EVbN6Ke/fEF3bsl7X48z0g==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=3WHJM1ZQz_JShphwDgj5:22 a=EUspDBNiAAAA:8 a=uh9JkKNIBQsmCcNjqRkA:9 a=a_PwQJl-kcHnX1M80qC6:22 X-Proofpoint-GUID: bcwD-AipdEZs6AescixSnv_J9JtDl4AF X-Proofpoint-ORIG-GUID: bcwD-AipdEZs6AescixSnv_J9JtDl4AF 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 malwarescore=0 bulkscore=0 suspectscore=0 priorityscore=1501 clxscore=1015 spamscore=0 lowpriorityscore=0 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-2607170150 Content-Type: text/plain; charset="utf-8" The SMMU_INTR_SEL_NS register write in qcom_iommu_device_probe() uses pm_runtime_get_sync() without checking the return value. If runtime resume fails the subsequent writel_relaxed() would access hardware with clocks potentially disabled. Switch to pm_runtime_resume_and_get() which handles the usage-count cleanup on failure, check the return value, and unwind the already registered iommu device on error. Reviewed-by: Konrad Dybcio Signed-off-by: Mukesh Ojha --- drivers/iommu/arm/arm-smmu/qcom_iommu.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/iommu/arm/arm-smmu/qcom_iommu.c b/drivers/iommu/arm/ar= m-smmu/qcom_iommu.c index 71251aecc292..1d04f0a19124 100644 --- a/drivers/iommu/arm/arm-smmu/qcom_iommu.c +++ b/drivers/iommu/arm/arm-smmu/qcom_iommu.c @@ -861,13 +861,17 @@ static int qcom_iommu_device_probe(struct platform_de= vice *pdev) } =20 if (qcom_iommu->local_base) { - pm_runtime_get_sync(dev); + ret =3D pm_runtime_resume_and_get(dev); + if (ret) + goto err_iommu_unregister; writel_relaxed(0xffffffff, qcom_iommu->local_base + SMMU_INTR_SEL_NS); pm_runtime_put_sync(dev); } =20 return 0; =20 +err_iommu_unregister: + iommu_device_unregister(&qcom_iommu->iommu); err_sysfs_remove: iommu_device_sysfs_remove(&qcom_iommu->iommu); return ret; --=20 2.53.0 From nobody Sat Jul 25 04:54:59 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 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: quoted-printable 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 Content-Type: text/plain; charset="utf-8" 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/ar= m-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; =20 out_clear_iommu: + free_io_pgtable_ops(pgtbl_ops); qcom_domain->iommu =3D NULL; out_unlock: mutex_unlock(&qcom_domain->init_mutex); --=20 2.53.0 From nobody Sat Jul 25 04:54:59 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 5152742BC51 for ; Fri, 17 Jul 2026 14:46:42 +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=1784299603; cv=none; b=JCJQbvX4Q7OpmMXWkrYf0gyY7IWMVUJUvseqMPOd2eP2wfW4tp+1bIx6cMIHPenzp6yeylJvSS+vxjTL0evgvp9V0I8a+GUyYwt4pb3l8lacGO0/82GsdPJwAQfReWRhCsMdoiaPjGCxeZ+0h4iYFAdaB0bNM8ktLbPr/YOQfQs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784299603; c=relaxed/simple; bh=SJxXIQqT//xBWQlFhfXbmp7aC2DouDQBgU+JmiLe18w=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=k2LnRnz+ZhsJlU/FKUWEazIMxyOSdaCFNDuxbzZkXJXpypLaMFn3kiHlIAENe2SP75hxojPy+XqJZWcrwEHI0sOFqCjtP3Pd/OYRXVO5H/3YY+tZADOmKmymV4xABrw78B79xt5/pkaHDgiduJxhnuIZ0X4bX4IGqOO8xHbwTFU= 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=Dcl3uIUw; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=RkXBJo/6; 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="Dcl3uIUw"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="RkXBJo/6" Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66HE7nCr1973377 for ; Fri, 17 Jul 2026 14:46:41 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=Z/6lk2kxW2n TS1x719Bxes8ej8Ufj/5F6jTJEH0kaK4=; b=Dcl3uIUwdol6XSOD4xXwUWtBbBh AlbqLwRt+YULgKoms56hrHdn+7deWYVfFcXknBXmyQOfgu9JAXZAMe2QRhNofxh2 XMwiUJtiXQlDAXcD7B7DLVEmOiokKPPujSgSHWFIQmpy7tF3ENP8UuBtKmZVwRG0 zO77DEi4h2xTbFE1+07cynDEaaZS23KOictYRWsUrv7Tzw0ub/GI8D8mCDb3JYiZ cWdPrQYfOdbm9eOTfwiaVWRmNz1iIst5W13Ee65jUUgU2BGi0iA2PeAkthq0lgP8 5pcb3dFs9BvaYFAXxGoBFtL5qQMC+5i1eIgJl0s+XpIjvSBnEjlvvtjliKQ== Received: from mail-qt1-f200.google.com (mail-qt1-f200.google.com [209.85.160.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ff2f2vpyx-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 17 Jul 2026 14:46:40 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-51c075c1e25so106924281cf.3 for ; Fri, 17 Jul 2026 07:46:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784299600; x=1784904400; 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=Z/6lk2kxW2nTS1x719Bxes8ej8Ufj/5F6jTJEH0kaK4=; b=RkXBJo/6wDO6apU0v2Uyu86g2OCUxiwsgYkenXLMlsMQW670maJgLXINEVbxkXOsNy al2M/DvvewWFdjRxkin3ZdGyEaj8fMg4jCaeMPgZnIW/AbFWmSDQPAfGj2xj8WLPXBeR TNUyTwEKwYc0d8fdrftwEpad6ABVS2aPPezkvnI2vdyaGFnrDhOi72dek/MRtL7haLZE FCbGdZPnpjNr0bkvw7M09kClimaUoJcJcVpeYxY6qOmNlhR1JERd92NRW8LweZdV5o7a Hd8lhuznOqjp/slg13u/b9DaRuvHv6iCw8rBms1jS0UXxB5G1EWLTcZhszPiFth7XbtL WgHQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784299600; x=1784904400; 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=Z/6lk2kxW2nTS1x719Bxes8ej8Ufj/5F6jTJEH0kaK4=; b=fPwD9FC3llbvjSYO0kKhiVEgp326pQO52TK5/+OnDaL1HXSz1zHxDrhgPgp4f2cQhV EexuAPNiqT6TDn62tLAbrnlWdfN3mgNhAmSy4GGD5ItZH66zgt2dT/VxuSmFaFxFtK5p JMsQ+OFvLvUytYNHkKqDblK0ULe615RmdUI4/PC+nehAaHM7OFGH3jLIFWUjhAhj07jP T6DjZhdRKQBkHHR85zERKfN1Jpi6lTJXPkVJJQ4j1hZLECTpFnser4BeI9fjzEyV0Vwv atSZcUJnUNxC9gOHdwQSgBe8lVMzlAvBnWzUkSIQZStl/MGH7FnuqwSsrikbikNxVwNc hVyA== X-Forwarded-Encrypted: i=1; AHgh+Rqohx3Uj6PlvKTjn6LJeOAhIcd+7DM8L2Sng/nyP1PlAtDnDU1qlXF7Bz7/HMfZwwkIDHleJP2W6yAGNkw=@vger.kernel.org X-Gm-Message-State: AOJu0Yy72630uRpeJc5g13Kfifr0EDl0s6t12A4ZNWXuqc1MjGmgimZB g2a8QQW4q+6nowsl3BtMioIAyPfi/JhGLB5QuW3t8u95Nx5mGAWb3qJ+lURWL2RmPDw688vbdH5 JK84+d1EBi8K/rHN/XFUJBP2K9bV0B1YVCXutdCGRKXgkZNMUIURud+V6ru16/EJXdMc= X-Gm-Gg: AfdE7cm2ElXF2IjQLjmfGhFfLZuEoOspPsW0MMCpMvFPRZnzdcfteNXgsrLrp6WlnkC JAmAENp9jxa3SH41Dc6N8rIXKkIyCcx6YQcX/UGTXkx15wZ4g5Q+ojR6CWQ1eTfC8Rf6iunrza8 nX37G9kqYeO3MIe35TqFWV5VfEMgHrQ1v86r3hTcYWKaHrwfprPjurpnJrDl3yJS+bAPSSTm8Ao 8taR82V+jfJge2eniDre8igqFaQDKU842k22YYQomgmHUBbV9Uw1mC+vreJjZC6eAszQzHLssA7 32NBQ37GJGFf4r9q/Pq9R8WW75F7uwRXw++vw/UAL5LTDoiDSIHNDvdcpv+Exs3e0TFmGrhqPFw C6JsnwP7YR1CxHh95Ztz/Vd5Hkyg= X-Received: by 2002:a05:622a:1ba2:b0:51c:6e:ef23 with SMTP id d75a77b69052e-5213c9e3db3mr27724661cf.32.1784299600108; Fri, 17 Jul 2026 07:46:40 -0700 (PDT) X-Received: by 2002:a05:622a:1ba2:b0:51c:6e:ef23 with SMTP id d75a77b69052e-5213c9e3db3mr27724121cf.32.1784299599569; Fri, 17 Jul 2026 07:46:39 -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.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Jul 2026 07:46:39 -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 5/6] iommu/qcom: Publish pgtbl_ops before releasing init_mutex Date: Fri, 17 Jul 2026 20:16:07 +0530 Message-ID: <20260717144608.3216274-6-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: quoted-printable X-Proofpoint-ORIG-GUID: vSvULSNWaej7Von_iI_yt0hzFDw3KXLz X-Proofpoint-Spam-Info: AW1haW4tMjYwNzE3MDE1MCBTYWx0ZWRfX2ZKVTvUKaq3d BdcopA2x8ormvGQAFAd9ufQQjrhagiWa4fchSYPDP9I309eRtiHh5+2oaHWfbSaZrncan6ckEGu 8/0NcL+kKATxARbe7lyMkpGeyAA/RZE= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzE3MDE1MCBTYWx0ZWRfX2PPK5qGWvKHl LBcSUcW+XXJekWU4s1NSbpXGYLHac3kIqwXzTM84ZOl3H+TQm2kpqn5z2QLMhsr5eoqvGaQBR6J UB2LSAy/KnWMRJEzAdJlN+drEmPmORvMWwetJK9h81a+fgT0gAIddap5Jnxig+IjhbkuBN5vScs A8SU90rcT7hoTwwQ87IUJVtI71s/vpCik7x6UO16xIr+aEGszCvj0v4T/IJ7PpmGE6ryXekvNKy i6lW0+/mWeLNGfwSGH5ZLO13OkTmM2XwSU4F2LjlelSgzCrDDBUKDb8zykFlTVnfUA9dGbMvD+M Nf54AIkDScxPNq9TnW44yQObD5QTaWxVjI0kQ7X0WvT53U81eJ6nJSjs2NoczfEnsVm3a2OiNX+ jACkpLWTpVwXmcun/tme1warGZn1hSCuJDMTxMmwAY6qLU8/wTSSPQpveCE1gQ5uGv0YPFNeDZP heBR8xhAhTYoBLePmQA== X-Authority-Analysis: v=2.4 cv=NcTWEWD4 c=1 sm=1 tr=0 ts=6a5a4050 cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=rJkE3RaqiGZ5pbrm-msn:22 a=EUspDBNiAAAA:8 a=Ya-8ghbQ4qwRuljleqkA:9 a=uxP6HrT_eTzRwkO_Te1X:22 X-Proofpoint-GUID: vSvULSNWaej7Von_iI_yt0hzFDw3KXLz 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 suspectscore=0 malwarescore=0 priorityscore=1501 lowpriorityscore=0 clxscore=1015 phishscore=0 bulkscore=0 spamscore=0 adultscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607170150 Content-Type: text/plain; charset="utf-8" qcom_domain->pgtbl_ops was assigned after mutex_unlock(). Another thread calling qcom_iommu_init_domain() would see qcom_domain->iommu already set (domain fully initialized) and skip re-initialization under the mutex. If it then called qcom_iommu_map() before the first thread set pgtbl_ops, it would observe a NULL ops pointer and return -ENODEV for valid mappings. Move the assignment to before mutex_unlock() so that once the mutex is released the domain is fully visible to concurrent operations. Reviewed-by: Konrad Dybcio Signed-off-by: Mukesh Ojha --- drivers/iommu/arm/arm-smmu/qcom_iommu.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/drivers/iommu/arm/arm-smmu/qcom_iommu.c b/drivers/iommu/arm/ar= m-smmu/qcom_iommu.c index 222bb7febd03..ecde5ca2d476 100644 --- a/drivers/iommu/arm/arm-smmu/qcom_iommu.c +++ b/drivers/iommu/arm/arm-smmu/qcom_iommu.c @@ -306,13 +306,12 @@ static int qcom_iommu_init_domain(struct iommu_domain= *domain, ctx->domain =3D domain; } =20 - mutex_unlock(&qcom_domain->init_mutex); - /* Publish page table ops for map/unmap */ qcom_domain->pgtbl_ops =3D pgtbl_ops; =20 - return 0; + mutex_unlock(&qcom_domain->init_mutex); =20 + return 0; out_clear_iommu: free_io_pgtable_ops(pgtbl_ops); qcom_domain->iommu =3D NULL; --=20 2.53.0 From nobody Sat Jul 25 04:54:59 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 CB8B842CB1B for ; Fri, 17 Jul 2026 14:46:46 +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=1784299608; cv=none; b=MY119JDIxoASES1Qas5BBUMwl2vcjNZU4G/Kkjffy1eG4Fr8ex8AqPEet6dC9dLTDPkSPPPzYLaqDCf+Lz6B2LnMEsc7arSILNpdgMJ/Z2JgSLeijFlsonZRFWO5b6p+BNOanK/YvMJiZ48L/2DTtb9EbKQ6ROpTVenBN/X/KAU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784299608; c=relaxed/simple; bh=oxWmsAM+twLfUwPG6xTjeDdTAauKY9ZVnOSmNHJl3x4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=h1Qpv/q8Vk0IILJgH5jSOz6eYCpC50DgZOkXCqjMLx2P86hkdms3mLdklR/YJ1gprqDTNvKArdTPdiBtFMg3z4VFNekSFh/wOdCHznfLdJmFX1IDB3Jv+6y+M1LALYTlXaMokkSD9axAgoIfuWUs/EhrIp73BoAHC4Nh0FgHEPI= 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=QFmBSEvm; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=CAz3z5St; 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="QFmBSEvm"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="CAz3z5St" Received: from pps.filterd (m0279864.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66HE7qhw1675752 for ; Fri, 17 Jul 2026 14:46:46 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=4z0ymWVrqeq o9gDHe0QR+vDogR/CFdnt/t7HVorr9fc=; b=QFmBSEvm/dWDDiIafCacepPcjO0 Dzs5trvnUgoOOYLlOjQ5KmnXdYre9sG7etR3hQoYxjj/FB2zfRkVOj0QTb5kzP/3 q+b0MqRlnlJiW7yJoC32vUe6nkxaQmAea9WN3ZdhpPyyYCcH9FB5DxQkOuLUdUhu vicC7ZfWrUov00yCEEZeJgaQuchyy9Y1pmyv8y+CWUvvFstdrpFRr32jKCuL3EwG +7d5wgGh6c/lFUmmhd9GbvMX9vhpC/xWiWoYVEoS6zKe/bQLc/V4EplFu58sZAnc D4Tu2pLRh66HzgHJCoy5NbCWWFNXLFahfY2+Rd4iTi1YGXXtLQ4ibwZBUXA== Received: from mail-qt1-f199.google.com (mail-qt1-f199.google.com [209.85.160.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ffj78s1jm-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 17 Jul 2026 14:46:46 +0000 (GMT) Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-51c20762d21so67112391cf.0 for ; Fri, 17 Jul 2026 07:46:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784299605; x=1784904405; 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=4z0ymWVrqeqo9gDHe0QR+vDogR/CFdnt/t7HVorr9fc=; b=CAz3z5StLUvN6zP1X0rgKydcp+a6GhyujUxPbwaLjy25rAvxEtXJzQtkgjeUr5vkJW WxAaylUjJJkLPrl3Mkzj24mQAKzelkNgMH9yd1N6xRwZajmAwB11uDc1tr88CNJN/zrs 6glWT/RUz2O4p38vNBIK/apwbUDXPxDZtO/KQN9u7Y/UZqOyvtVuAszEydqeq8vbTAUL yWLeRTXZR+RkRhpcrs8Zb0w6irLw+XvkfClkRLK8nY/LFXvtfw3WO9hXKgLXiPI9/28n MD49k55q1RsQG2s+rJna0JW++L7Rtz48TMgoMJMVKG1FMjGAseMm77o1JS1STr2KVoCR ik6w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784299605; x=1784904405; 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=4z0ymWVrqeqo9gDHe0QR+vDogR/CFdnt/t7HVorr9fc=; b=grB/M6OD8KAFlAOx4vOijZxZPwWjjDIm/s8dGSlvWaWTsPJRZcKtzeEzj1M8Nzri9M ZDJL5VEEEqstCxBVaz6o6IRb0uHBa9YeidUQUJMi7ImxanqV2g6eGIRNVGtRDpx958V8 LzBHTTHhIhl8Jaw3igYBSqG2LPi/pvnszPK4Aa5Bp1iu3CF89tTGAB0YlNHc5htsNkvG o0LHDhayoP3tuRkIBI09pHk3va51hMefh71Qr4lBhEVJbINl29osiKYLakroTKXn0Kr/ yuMG0lzM1PvnhUWmqPzeulBLJAbWxKwPw2s6myrWbdCApvo44wsPv8RDdnsOb1KDdOf1 IIHw== X-Forwarded-Encrypted: i=1; AHgh+RrV/8DtfpVWOBY4r1Nr1K2w6zpdjGpiWRJwNp4mtkOKxiCfWdQ/qGBa9H9TtAxm4aOi1JrWQ0iR3uYr/v0=@vger.kernel.org X-Gm-Message-State: AOJu0YxB4Ip1DutmydQYDDHrIS19p03JSITZvqtZIMMqU7IFI7zssxeJ 30M117ZhDuZ0B037PXPJEZQyHaluagrUiWu53NYyP3R6baiAEnfRRPd/o0CRw1nQka4NBVYfYiE gS5kB5vZZhBaYejUVjXNXchtpdy9jNm+lRQOAO2LNFLAAPq0enb8w90+asVoLfHZLK9s= X-Gm-Gg: AfdE7cmiK3CSOA3wodedLe+Lb2JNwvyx8cgr2w2ow/5ItuuG+Hu4t9Hcta+uRW+Z2FN X2kiDYHA5LlveD13b6mH6xVg7jbw0UwqhtVB4NRoD1Kg8VtzaJAF6CYkhiGCMWkkAgtwj6Zf3pk r6X8hMPNA22jVOzHk+ZWD+syJIzE0yyw8zHsr+7Zvi5o2XBMX956RX+mD6mC+mRP21A3RXZnmf8 GSWEWW7hhe9CVUpaqF415DEjpAP7xqCZ9sH6sfWy/idBuaanc1QFCPx4c0n+Cr9uJjxCEPKWEYJ fYUCoF990NoQ6D0zi83M8XCWwNS+SP0LzGxYw3KXjIIXUJyr+J9xOYWqVCbOPZlkqIo9dylrU68 aGhEr6GCIFMoCCp2WIpHeIJt3GcI= X-Received: by 2002:a05:622a:2b0f:b0:51c:19a3:4ec with SMTP id d75a77b69052e-5213eb7f5e1mr27613651cf.69.1784299604987; Fri, 17 Jul 2026 07:46:44 -0700 (PDT) X-Received: by 2002:a05:622a:2b0f:b0:51c:19a3:4ec with SMTP id d75a77b69052e-5213eb7f5e1mr27613171cf.69.1784299604436; Fri, 17 Jul 2026 07:46:44 -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.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Jul 2026 07:46:44 -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 6/6] iommu/qcom: Enable clocks before hardware access in qcom_iommu_ctx_probe() Date: Fri, 17 Jul 2026 20:16:08 +0530 Message-ID: <20260717144608.3216274-7-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: quoted-printable X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzE3MDE1MCBTYWx0ZWRfX+LQkcC1x08aX kv2hZv6Rb/BWLbAtIOGU2iwcpbsyos1xadunwOj1K0uLWMKWEBFTaAPjTfXBT4DtVtlVYRGYDZF o4/7jOnYRQuoKMC1Bq708zjLb9zvyJDnMVxQNog3esjtBRBE/NSIuq/1jCZ6oxThtTbAW7Zej2z HM0EBCb59Nmj2QDTaZNDFC0AuLgsfFHaEniwJsENzx0ANBA2qOG4edn6DT8aHlFF7lrPnTvY6r7 R/2CGNRoqw045uMRI1B+szoaWPl+rYSlkLBvTuwo1fYKVxmiCOlcKkO5Rcz9hVyByVns1mekEdM 2eGIXpW51eiC6ONzvzYEM+HV2e0aRja6n+BoznodW3AxxildDLxFU3zVIfYo1Xt8YGl5tOQhfpu hvdy+ZWw4TQZWJ5ryWw1+tPbDW+6XZUlzbYQWlBce3e/jDgXr8ZEvozk8TGA9FIZwqB5UgiJ5VU d/jP6uIkf52Nkzs1FVw== X-Proofpoint-ORIG-GUID: ytBU7xttoQ9RJ9TVbnc3JBq_pZbRT_Ej X-Authority-Analysis: v=2.4 cv=U9Ciy+ru c=1 sm=1 tr=0 ts=6a5a4056 cx=c_pps a=WeENfcodrlLV9YRTxbY/uA==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=DJpcGTmdVt4CTyJn9g5Z:22 a=EUspDBNiAAAA:8 a=8cASqgOsboiLGU4YZykA:9 a=kacYvNCVWA4VmyqE58fU:22 X-Proofpoint-GUID: ytBU7xttoQ9RJ9TVbnc3JBq_pZbRT_Ej X-Proofpoint-Spam-Info: AW1haW4tMjYwNzE3MDE1MCBTYWx0ZWRfX68UM1xA0Bw09 EMtNnAXx8qTHAGcyGPj7dce9KMKOmSiv178eNujTX2Pmr+3GSTWdOVmJ83Np+FU5QlZzGiMx6fX zFJAsjfR1RCLYApf4riRJlnuCs29ccI= 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 adultscore=0 suspectscore=0 phishscore=0 spamscore=0 lowpriorityscore=0 clxscore=1015 priorityscore=1501 malwarescore=0 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-2607170150 Content-Type: text/plain; charset="utf-8" qcom_iommu_ctx_probe() reads and writes the CB_FSR register to clear any stale IRQ left by the bootloader. This happens during devm_of_platform_populate() which is called from the parent device's probe before any pm_runtime_get(). The parent's clocks (iface, bus, tbu) are therefore not guaranteed to be on, making the register access unreliable on rebind or after a suspend cycle. Use pm_runtime_resume_and_get() on the parent device to ensure clocks are enabled before the register access, and release the reference immediately after. Reviewed-by: Konrad Dybcio Signed-off-by: Mukesh Ojha --- drivers/iommu/arm/arm-smmu/qcom_iommu.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/iommu/arm/arm-smmu/qcom_iommu.c b/drivers/iommu/arm/ar= m-smmu/qcom_iommu.c index ecde5ca2d476..5a9f8b39a99c 100644 --- a/drivers/iommu/arm/arm-smmu/qcom_iommu.c +++ b/drivers/iommu/arm/arm-smmu/qcom_iommu.c @@ -704,8 +704,13 @@ static int qcom_iommu_ctx_probe(struct platform_device= *pdev) /* clear IRQs before registering fault handler, just in case the * boot-loader left us a surprise: */ - if (!ctx->secured_ctx) + if (!ctx->secured_ctx) { + ret =3D pm_runtime_resume_and_get(dev->parent); + if (ret) + return ret; iommu_writel(ctx, ARM_SMMU_CB_FSR, iommu_readl(ctx, ARM_SMMU_CB_FSR)); + pm_runtime_put_sync(dev->parent); + } =20 ret =3D devm_request_irq(dev, irq, qcom_iommu_fault, --=20 2.53.0