From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 502F3C46CD2 for ; Tue, 30 Jan 2024 16:05:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:In-Reply-To:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=9X3LqgemyOH+e6+l1KEgStoxim76dObQz/62NTiEeH4=; b=o759X9NvqmW4ed /r4iYQXn0wXW0bInKFpTwRqSql9nQ0SmaE0vSn1bJzxXsagv+sSakfXxuX1AuCJlO1GEldMgJCCRO 2EJmOxd4DG09d2qzg56Yu0Z5V8OA3qVidrMTxOB+ebBICMvOwohN3J5RKRBpxhCHvtu8OZScu3a6M ADklv1oC/SUREHWn7K7s06gX3UnPQnE/jXtlkguxXBvOsUIwNSxrQxm7GZnIt5vJNNbtd2daFx8m+ AGV4MLvP3bsWp6EEZCQ33Z+kBYnxkZzpSqmN37yL+5KHVdKN4Z1eRxHxenZ9Sk8uJO/kFpiO6SfKG XLaUtbvvpkQZnwfmxyNQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rUqbO-0000000HI6F-0lC4; Tue, 30 Jan 2024 16:04:46 +0000 Received: from mail-mw2nam10on20600.outbound.protection.outlook.com ([2a01:111:f403:2412::600] helo=NAM10-MW2-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1rUqbK-0000000HI4U-3C1T for linux-arm-kernel@lists.infradead.org; Tue, 30 Jan 2024 16:04:44 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DvLZDgPM4BhiBaJelWT69DYy2JgVmoX6yG7kcjnB1gXa2y2mdDIA5KSurJ9Xxx7HojL34/Hnp7y9Anj4zJHihujpvzQdCD4J74s1pIL9mHnVHcQfaripJhtKLjSrtJ1l6zcjRr85533js+RSAraF02t8EWXsLqnNAoOe/emYrRz+MVRNokz797AX5WLY87pbM9YZbNfq9JXSLBBct3sz4qozlmwlU8zk5OsTQGhUQalhVD5SzOrvzMvFL1zjBf8cJ3fHSMTbGUAs0zlnG0BAoCIS3cwUv+SOKcbhShX8dNR4cq2WsEoIYCrXr9A5wWw8U+xgXzXcP3cZya5yK5c3Uw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=+/3pUVzqS1BQ5xK39Tmky5MQ10Iz7Cl+CW2aXic+Jcw=; b=kDSs/9fSfFX54s8T4kDFxfQ13oHjHDsMn7lIdwksoI9LLi5q5Ogb45N7L352EoiTBQtuZOA2qwDgH5V1PH6bIawM6RCYrQgZWpCAkK+Ghdf8pkjGRlPmHj7hhybkVZ+7XmF7NKT/G1DeNpL+nnV2mWTqKxNMnqrm43CviqQAFga1idKv+3/dxFoOQxhDmcgTXqoA2MC0GHNN0KQ2nV7bM48rIHTNJXkt5bDfLxKAnkwH/WF5v8cp14tyQVVJfS+PDU0r75xcHr6gyXWXn02xt0eftKpMFAt1tBeKs5AOPaQw2a5Uw413KzIpW8WzlnWlITtxBTxQ/3SJkdPuwrB4DA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=+/3pUVzqS1BQ5xK39Tmky5MQ10Iz7Cl+CW2aXic+Jcw=; b=nbWT17ZBWRsJ0Bp4DbjhGZ5OyARec3+yRVuYa2Z+9FbZQreYxUzxRMiNau837ZPVQWgNVB5AWEyrqC+EeDikGVuYBT/n5yKiLbQ9yRu5PeBaLKhbSYNHMh5NHI0ZehyPKTFG/qe1/F14cq3r1V9E2Fv3m3Z+x7yiQnUZ6oR0kaV97w5rJkpc0qTse8OwnJ/qbkrn0bZtZtJaXRcaGlVBNN7O7nD8sgmY4A/wW74hJOBqcboj2NfJGNOwzsfRTFltJoIhTl7AnZ/OroeQVe7W6XfQ/UiCwtysWTzJi7UcQAdWIt5KSLFYME6H5weYVVR2NboU2e1vfykrr4EBDXRnsA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from LV2PR12MB5869.namprd12.prod.outlook.com (2603:10b6:408:176::16) by BL1PR12MB5852.namprd12.prod.outlook.com (2603:10b6:208:397::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7228.34; Tue, 30 Jan 2024 16:04:31 +0000 Received: from LV2PR12MB5869.namprd12.prod.outlook.com ([fe80::96dd:1160:6472:9873]) by LV2PR12MB5869.namprd12.prod.outlook.com ([fe80::96dd:1160:6472:9873%6]) with mapi id 15.20.7228.029; Tue, 30 Jan 2024 16:04:31 +0000 Date: Tue, 30 Jan 2024 12:04:30 -0400 From: Jason Gunthorpe To: Shameerali Kolothum Thodi Cc: "iommu@lists.linux.dev" , Joerg Roedel , "linux-arm-kernel@lists.infradead.org" , Robin Murphy , Will Deacon , Eric Auger , Jean-Philippe Brucker , Moritz Fischer , Michael Shavit , Nicolin Chen , "patches@lists.linux.dev" Subject: Re: [PATCH v4 01/27] iommu/arm-smmu-v3: Check that the RID domain is S1 in SVA Message-ID: <20240130160430.GC1455070@nvidia.com> References: <0-v4-e7091cdd9e8d+43b1-smmuv3_newapi_p2_jgg@nvidia.com> <1-v4-e7091cdd9e8d+43b1-smmuv3_newapi_p2_jgg@nvidia.com> Content-Disposition: inline In-Reply-To: X-ClientProxiedBy: MN2PR15CA0013.namprd15.prod.outlook.com (2603:10b6:208:1b4::26) To LV2PR12MB5869.namprd12.prod.outlook.com (2603:10b6:408:176::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: LV2PR12MB5869:EE_|BL1PR12MB5852:EE_ X-MS-Office365-Filtering-Correlation-Id: 40e0bd8b-fcc8-4011-fe8f-08dc21ad24e8 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: hTi08DFwjWdR1ASY9BLzXy7SK6vJQFsw1Bjn4Rco34AHyLRapgQxEm2j23zMhA0f2pAcjDlx3G9+p/3uOo2KjaCUrI4YXNt+bd9T/mwTNCx21ieuRNE7vEjAqAonbuwQ+eOyDl5Y1LFSVv78byDKQEXyf0ZTWdqXo4JdsgzKa3NrbMu1OH2ZKUP1icjAHpy6e0sgTMmlO38Vd82a5wALHri8H2CQGADHjC5oq0ZxxKP7mFedGw1L+JL2oFYrWE+1RXh+J8IE7PSlXS7pFAIEU6ePavBw2bL4U03opKa7O+ZnKkQpHKCHR4O3VuRA4FHafD7ZKpbJbVm8gp9VIWoml1mz8pmmZflx6Kwc3OA8pZN0103XKvACeC0x6f+3PwD+GZxExfe6YW7+/nyTsX5Vosu+8pWePfjtWTp+39mRcaO1wHaVHbOSbrGgxLDQk7To2q8kM9Gsnf7LW8hknYXSpu3/MpoQ/VHEHZK0FirPzmktN2ZB5hhNxvIMiY5dUuSfx35hYKIM/1W+qZrTBL1BaavgfEV3EHz9mNItaV4vE2reC8K3eCWTKnIB9UIipIJN X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:LV2PR12MB5869.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(376002)(366004)(396003)(39860400002)(346002)(230922051799003)(1800799012)(186009)(64100799003)(451199024)(54906003)(6916009)(316002)(83380400001)(66556008)(66946007)(66476007)(86362001)(6486002)(478600001)(38100700002)(1076003)(2616005)(26005)(8676002)(8936002)(6512007)(6506007)(4326008)(7416002)(5660300002)(33656002)(2906002)(41300700001)(36756003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?dTqeAjAdspkl7KwyqM221T/SNT5o9+p7ngoQYo22lYxLuXk7GwW9g7GafPP0?= =?us-ascii?Q?EB0I960A48B98kJWivHn1u5Pjp8nGUFGTSJCu20BQ2og6On9a/2K6PmPVJlw?= =?us-ascii?Q?b7dLbUu6/fHLT3tt20EQauvy7oHpbsIctBoxR+WCO4mmIfBy1rvFHmyqpoEr?= =?us-ascii?Q?gUJoCce3sZXL2yHh//lmb7PZbFqSs3XI5w5mY6fxaP0ovX+XYqOkJGdVC+zm?= =?us-ascii?Q?/+Yl9UQN3tInicxlEMQX0VtOFL9w2LLVC0ubEOAeim8qhcHLZAVhX+xjnyHv?= =?us-ascii?Q?VImSC2uTHNBxRd0gk4OVEIu7HmQsAwsJgTf87kdM20Ac/bn0ryQxO5Eq6IN2?= =?us-ascii?Q?5MhpIY3+ovfAYEmsgzTOBfqbZOAGOOS8jUrKhdycsfhHo3pXSyiZOx7k9VuB?= =?us-ascii?Q?N0ItNaGWy0e0kbZ8eb98eFRftMwSj1RbKRWGup2t/NIJBNdtghOG8Z316UQP?= =?us-ascii?Q?pzdnu88MV5hSgldPclMFSIOMyBuHQD3rESI9gUrzxLYj3yL2Wvyb7WMr3UtX?= =?us-ascii?Q?pprcDx8/94rYmg0YP4izoDiEvMv2MLZGTo2F3ZYNu9XPL83hwxxOBuf8JlAM?= =?us-ascii?Q?AazxGry3FxU0eesexWshSvw+Oa65nd7J5O/p2I8YxmYAuxu7+Y9My/fG5XwR?= =?us-ascii?Q?szANKo6R3gbI62hP9LfGKqnWx7JaEQ7lJLFOC6dxUvU9gojJPnZPBk2JsOmn?= =?us-ascii?Q?C0IiGRaowjiNMjw29MRtZBOd64qsheruQh12I2obMA9c6bVEtPvQr2Ut+GMj?= =?us-ascii?Q?R/hu+RnI8iIzbZ6uVc3hqhF2kvnPb+BZAh/zPIcu5TIHD5TolhUl9Layi/iN?= =?us-ascii?Q?P3CXlwcstYzWRbJYB8LYpezPDRHnGgW1vM4X1belMhpU5/gLd2UfwXfU99tb?= =?us-ascii?Q?kBsRxA4jm6u26xQyhxCjI3lCBBnb0Po5ArbYn/Oc/ektH6daqNLw94qD2Q2F?= =?us-ascii?Q?/zq8t3PjzBL8frVQfpZQwQwbaC2B8IQM1LYLxpADcY441BKZ7hOz2/VwEhMj?= =?us-ascii?Q?hEYeF/xA3fIGa1aEG7BLw3Ao/2EMZkVtZ9lukuz7/LI0qkXa44nhwPFlpcJs?= =?us-ascii?Q?SulKDohsQ6PIT3sdShwirhNtB27nan43OmwMC2VG1ah8DZ79TH1EV0rZZVrp?= =?us-ascii?Q?gg8CtxBxELX3+F30xX/oHGPRJlG/iBhojHaSDq8psgfo3us4GNDxNeI8BTeC?= =?us-ascii?Q?35nRJa7ydMNPx0MAHKSruP1CoV6PBQ+dfKWMB++6vipKjJFj8d66QCTII8Q4?= =?us-ascii?Q?j3VRBDYZKshA0d1I8sN3e/iHY8puUeZSwhqZHzAxyDznkVF+NDytBNnAMVDP?= =?us-ascii?Q?fznBjLoj7nITBKqIhL/61SkspbXX2zo8vCDyGsCK/T5mF/C3j5dAZ95Dgbc2?= =?us-ascii?Q?njZ0ssaY/wmrIlBTFVnNzwN9jvRLL5lzFKG4GrUBSNiousMGcuEiA/xYFA3k?= =?us-ascii?Q?a4e1vkmxtxgHkcOmyCcUbABBOAAx9USZtApOQ2eTGFT0FO9ZbufZKigF2OaE?= =?us-ascii?Q?16ifFAzQXuciYgO+oW4oxjjD9IaFmVPEc2Q70fdc3+DV5gcKZcbTCQZ/7s73?= =?us-ascii?Q?M6YFJWw18++CmsbQCKYdw3qQ/ddeCZXM6jImXila?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 40e0bd8b-fcc8-4011-fe8f-08dc21ad24e8 X-MS-Exchange-CrossTenant-AuthSource: LV2PR12MB5869.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Jan 2024 16:04:31.4046 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: iP5CgkKgVtJrMiVpQTGA2q5Ph5SgXxm19+tZxoAdoHEAjRBXMEUaEcJNbYMU46ph X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR12MB5852 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240130_080442_832617_C4764D79 X-CRM114-Status: GOOD ( 17.08 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On Tue, Jan 30, 2024 at 08:46:10AM +0000, Shameerali Kolothum Thodi wrote: > > diff --git a/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c > > b/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c > > index 05722121f00e70..b4549d698f3569 100644 > > --- a/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c > > +++ b/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c > > @@ -387,7 +387,13 @@ static int __arm_smmu_sva_bind(struct device *dev, > > struct mm_struct *mm) > > struct arm_smmu_bond *bond; > > struct arm_smmu_master *master = dev_iommu_priv_get(dev); > > struct iommu_domain *domain = iommu_get_domain_for_dev(dev); > > - struct arm_smmu_domain *smmu_domain = > > to_smmu_domain(domain); > > + struct arm_smmu_domain *smmu_domain; > > + > > + if (!(domain->type & __IOMMU_DOMAIN_PAGING)) > > + return -ENODEV; > > + smmu_domain = to_smmu_domain(iommu_get_domain_for_dev(dev)); > > We already have the iommu_domain from above. Yep > > + if (smmu_domain->stage != ARM_SMMU_DOMAIN_S1) > > + return -ENODEV; > > I think we need to do the above checks in arm_smmu_sva_remove_dev_pasid() > as well. The core won't call that unless a PASID is already attached, meaning we already passed the above check in bind. So it shouldn't need to be duplicated. Further, at this instant all the RID attach paths are protected by: if (arm_smmu_master_sva_enabled(master)) return -EBUSY; Dropping the S1 check was a mistake introduced in commit 386fa64fd52b ("arm-smmu-v3/sva: Add SVA domain support") The current logic for SMMUv3 requires that a calling driver assert the SVA feature, which locks the STE, and then if the STE was a S1 you can install a SVA PASID. Thanks, Jason _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel