diff options
author | Lu Baolu <baolu.lu@linux.intel.com> | 2020-05-19 03:34:23 +0200 |
---|---|---|
committer | Joerg Roedel <jroedel@suse.de> | 2020-05-25 13:54:32 +0200 |
commit | bfe6240dfe4f16c20db94bc7c0ab9ffa316fb926 (patch) | |
tree | 7820ecb707a836addd017902d1e2bdadaade8484 /drivers/iommu | |
parent | iommu/vt-d: Remove IOVA handling code from the non-dma_ops path (diff) | |
download | linux-bfe6240dfe4f16c20db94bc7c0ab9ffa316fb926.tar.xz linux-bfe6240dfe4f16c20db94bc7c0ab9ffa316fb926.zip |
iommu/vt-d: Fix pointer cast warnings on 32 bit
Pointers should be casted to unsigned long to avoid "cast from pointer
to integer of different size" warnings.
drivers/iommu/intel-pasid.c:818:6: warning:
cast from pointer to integer of different size [-Wpointer-to-int-cast]
drivers/iommu/intel-pasid.c:821:9: warning:
cast from pointer to integer of different size [-Wpointer-to-int-cast]
drivers/iommu/intel-pasid.c:824:23: warning:
cast from pointer to integer of different size [-Wpointer-to-int-cast]
drivers/iommu/intel-svm.c:343:45: warning:
cast to pointer from integer of different size [-Wint-to-pointer-cast]
Fixes: b0d1f8741b81 ("iommu/vt-d: Add nested translation helper function")
Fixes: 56722a4398a3 ("iommu/vt-d: Add bind guest PASID support")
Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com>
Link: https://lore.kernel.org/r/20200519013423.11971-1-baolu.lu@linux.intel.com
Signed-off-by: Joerg Roedel <jroedel@suse.de>
Diffstat (limited to 'drivers/iommu')
-rw-r--r-- | drivers/iommu/intel-pasid.c | 8 | ||||
-rw-r--r-- | drivers/iommu/intel-svm.c | 3 |
2 files changed, 6 insertions, 5 deletions
diff --git a/drivers/iommu/intel-pasid.c b/drivers/iommu/intel-pasid.c index 25d749830500..c81f0f17c6ba 100644 --- a/drivers/iommu/intel-pasid.c +++ b/drivers/iommu/intel-pasid.c @@ -815,13 +815,13 @@ int intel_pasid_setup_nested(struct intel_iommu *iommu, struct device *dev, } /* First level PGD is in GPA, must be supported by the second level */ - if ((unsigned long long)gpgd > domain->max_addr) { + if ((uintptr_t)gpgd > domain->max_addr) { dev_err_ratelimited(dev, - "Guest PGD %llx not supported, max %llx\n", - (unsigned long long)gpgd, domain->max_addr); + "Guest PGD %lx not supported, max %llx\n", + (uintptr_t)gpgd, domain->max_addr); return -EINVAL; } - pasid_set_flptr(pte, (u64)gpgd); + pasid_set_flptr(pte, (uintptr_t)gpgd); ret = intel_pasid_setup_bind_data(iommu, pte, pasid_data); if (ret) diff --git a/drivers/iommu/intel-svm.c b/drivers/iommu/intel-svm.c index 11366dc91971..acc7555b002d 100644 --- a/drivers/iommu/intel-svm.c +++ b/drivers/iommu/intel-svm.c @@ -340,7 +340,8 @@ int intel_svm_bind_gpasid(struct iommu_domain *domain, struct device *dev, * call the nested mode setup function here. */ spin_lock(&iommu->lock); - ret = intel_pasid_setup_nested(iommu, dev, (pgd_t *)data->gpgd, + ret = intel_pasid_setup_nested(iommu, dev, + (pgd_t *)(uintptr_t)data->gpgd, data->hpasid, &data->vtd, dmar_domain, data->addr_width); spin_unlock(&iommu->lock); |