iommu/arm-smmu-v3: Pass arm_smmu_domain and arm_smmu_device to finalize
authorJason Gunthorpe <jgg@nvidia.com>
Mon, 26 Feb 2024 17:07:26 +0000 (13:07 -0400)
committerWill Deacon <will@kernel.org>
Thu, 29 Feb 2024 15:12:23 +0000 (15:12 +0000)
commitd8cd200609cf6a404cda73794f0c8c4fd74c568c
treed96e6ba8d1f91765bbb1e5b52a2637e02c9a328f
parentd36464f40f29c984984168ea89e08629bdba41df
iommu/arm-smmu-v3: Pass arm_smmu_domain and arm_smmu_device to finalize

Instead of putting container_of() casts in the internals, use the proper
type in this call chain. This makes it easier to check that the two global
static domains are not leaking into call chains they should not.

Passing the smmu avoids the only caller from having to set it and unset it
in the error path.

Reviewed-by: Michael Shavit <mshavit@google.com>
Reviewed-by: Nicolin Chen <nicolinc@nvidia.com>
Tested-by: Shameer Kolothum <shameerali.kolothum.thodi@huawei.com>
Tested-by: Nicolin Chen <nicolinc@nvidia.com>
Tested-by: Moritz Fischer <moritzf@google.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Link: https://lore.kernel.org/r/15-v6-96275f25c39d+2d4-smmuv3_newapi_p1_jgg@nvidia.com
Signed-off-by: Will Deacon <will@kernel.org>
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c