Thread (1 message) 1 message, 1 author, 2016-09-01

Re: [PATCH v5 15/19] iommu/arm-smmu: Convert to iommu_fwspec

From: Will Deacon <hidden>
Date: 2016-09-01 18:53:45
Also in: linux-iommu

On Tue, Aug 23, 2016 at 08:05:26PM +0100, Robin Murphy wrote:
In the final step of preparation for full generic configuration support,
swap our fixed-size master_cfg for the generic iommu_fwspec. For the
legacy DT bindings, the driver simply gets to act as its own 'firmware'.
Farewell, arbitrary MAX_MASTER_STREAMIDS!

Signed-off-by: Robin Murphy <redacted>
---
 drivers/iommu/arm-smmu.c | 139 ++++++++++++++++++++++++++---------------------
 1 file changed, 77 insertions(+), 62 deletions(-)
[...]
 static int arm_smmu_attach_dev(struct iommu_domain *domain, struct device *dev)
 {
 	int ret;
+	struct iommu_fwspec *fwspec = dev_iommu_fwspec(dev);
+	struct arm_smmu_device *smmu = fwspec_smmu(fwspec);
 	struct arm_smmu_domain *smmu_domain = to_smmu_domain(domain);
-	struct arm_smmu_master_cfg *cfg = dev->archdata.iommu;
 
-	if (!cfg) {
+	if (!fwspec || fwspec->iommu_ops != &arm_smmu_ops) {
As mentioned off-list, you have already dereferenced fwspec before this
NULL check.

Will
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help