linux/drivers/iommu
Yonghyun Hwang 77a1bce84b iommu/vt-d: Fix a bug in intel_iommu_iova_to_phys() for huge page
intel_iommu_iova_to_phys() has a bug when it translates an IOVA for a huge
page onto its corresponding physical address. This commit fixes the bug by
accomodating the level of page entry for the IOVA and adds IOVA's lower
address to the physical address.

Cc: <stable@vger.kernel.org>
Acked-by: Lu Baolu <baolu.lu@linux.intel.com>
Reviewed-by: Moritz Fischer <mdf@kernel.org>
Signed-off-by: Yonghyun Hwang <yonghyun@google.com>
Fixes: 3871794642 ("VT-d: Changes to support KVM")
Signed-off-by: Joerg Roedel <jroedel@suse.de>
2020-03-02 17:07:48 +01:00
..
amd_iommu_debugfs.c iommu/amd: Add basic debugfs infrastructure for AMD IOMMU 2018-07-06 14:06:30 +02:00
amd_iommu_init.c iommu/amd: Disable IOMMU on Stoney Ridge systems 2020-02-19 11:08:24 +01:00
amd_iommu_proto.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 333 2019-06-05 17:37:06 +02:00
amd_iommu_quirks.c iommu/amd: Apply the same IVRS IOAPIC workaround to Acer Aspire A315-41 2019-10-30 10:24:03 +01:00
amd_iommu_types.h iommu/amd: Remove unused struct member 2020-01-17 11:05:56 +01:00
amd_iommu_v2.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 333 2019-06-05 17:37:06 +02:00
amd_iommu.c IOMMU Updates for Linux v5.6 2020-02-05 17:49:54 +00:00
amd_iommu.h iommu/amd: Override wrong IVRS IOAPIC on Raven Ridge systems 2019-08-23 10:26:48 +02:00
arm-smmu-impl.c iommu/arm-smmu: Rename public #defines under ARM_SMMU_ namespace 2020-01-10 15:52:25 +00:00
arm-smmu-qcom.c iommu: arm-smmu-impl: Add sdm845 implementation hook 2019-11-04 17:48:37 +00:00
arm-smmu-v3.c Merge branches 'iommu/fixes', 'arm/smmu', 'x86/amd', 'x86/vt-d' and 'core' into next 2020-01-24 15:39:39 +01:00
arm-smmu.c Merge branches 'iommu/fixes', 'arm/smmu', 'x86/amd', 'x86/vt-d' and 'core' into next 2020-01-24 15:39:39 +01:00
arm-smmu.h iommu/io-pgtable-arm: Rationalise VTCR handling 2020-01-10 15:52:25 +00:00
dma-iommu.c iommu/dma: fix variable 'cookie' set but not used 2020-01-07 17:08:58 +01:00
dmar.c iommu/vt-d: Remove unnecessary WARN_ON_ONCE() 2020-01-24 15:36:27 +01:00
exynos-iommu.c iommu: Add gfp parameter to iommu_ops::map 2019-10-15 11:31:04 +02:00
fsl_pamu_domain.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 266 2019-06-05 17:30:28 +02:00
fsl_pamu_domain.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 266 2019-06-05 17:30:28 +02:00
fsl_pamu.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 266 2019-06-05 17:30:28 +02:00
fsl_pamu.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 266 2019-06-05 17:30:28 +02:00
hyperv-iommu.c iommu/hyper-v: Add Hyper-V stub IOMMU driver 2019-02-28 11:12:16 +01:00
intel_irq_remapping.c iommu/vt-d: Fix wrong analysis whether devices share the same bus 2019-08-30 15:47:37 +02:00
intel-iommu-debugfs.c iommu/vt-d: debugfs: Add support to show page table internals 2020-01-07 14:05:58 +01:00
intel-iommu.c iommu/vt-d: Fix a bug in intel_iommu_iova_to_phys() for huge page 2020-03-02 17:07:48 +01:00
intel-pasid.c iommu/vt-d: Add PASID_FLAG_FL5LP for first-level pasid setup 2020-01-07 14:05:58 +01:00
intel-pasid.h iommu/vt-d: Add PASID_FLAG_FL5LP for first-level pasid setup 2020-01-07 14:05:58 +01:00
intel-svm.c iommu/vt-d: Add PASID_FLAG_FL5LP for first-level pasid setup 2020-01-07 14:05:58 +01:00
intel-trace.c iommu/vt-d: Add trace events for device dma map/unmap 2019-09-11 12:34:30 +02:00
io-pgtable-arm-v7s.c iommu/io-pgtable-arm: Rationalise TCR handling 2020-01-10 15:52:24 +00:00
io-pgtable-arm.c iommu/io-pgtable-arm: Prepare for TTBR1 usage 2020-01-10 15:52:25 +00:00
io-pgtable.c iommu/io-pgtable-arm: Rationalise TCR handling 2020-01-10 15:52:24 +00:00
ioasid.c iommu/ioasid: Add custom allocators 2019-10-15 13:34:25 +02:00
iommu-debugfs.c iommu: Fix IOMMU debugfs fallout 2019-02-26 11:15:58 +01:00
iommu-sysfs.c drivers/iommu: Export core IOMMU API symbols to permit modular drivers 2019-12-23 14:06:05 +01:00
iommu-traces.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
iommu.c Merge branches 'iommu/fixes', 'arm/smmu', 'x86/amd', 'x86/vt-d' and 'core' into next 2020-01-24 15:39:39 +01:00
iova.c iommu/iova: Silence warnings under memory pressure 2019-12-23 14:07:03 +01:00
ipmmu-vmsa.c iommu/io-pgtable-arm: Rationalise TTBRn handling 2020-01-10 15:39:23 +00:00
irq_remapping.c treewide: Add SPDX license identifier for missed files 2019-05-21 10:50:45 +02:00
irq_remapping.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 333 2019-06-05 17:37:06 +02:00
Kconfig Merge branches 'iommu/fixes', 'arm/smmu', 'x86/amd', 'x86/vt-d' and 'core' into next 2020-01-24 15:39:39 +01:00
Makefile iommu/arm-smmu: Restore naming of driver parameter prefix 2020-02-19 12:03:21 +01:00
msm_iommu_hw-8xxx.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 267 2019-06-05 17:30:29 +02:00
msm_iommu.c iommu/io-pgtable-arm: Rationalise TTBRn handling 2020-01-10 15:39:23 +00:00
msm_iommu.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 267 2019-06-05 17:30:29 +02:00
mtk_iommu_v1.c iommu: Add gfp parameter to iommu_ops::map 2019-10-15 11:31:04 +02:00
mtk_iommu.c iommu/io-pgtable-arm: Rationalise TTBRn handling 2020-01-10 15:39:23 +00:00
mtk_iommu.h iommu/mediatek: Move the tlb_sync into tlb_flush 2019-11-11 15:02:34 +01:00
of_iommu.c iommu/arm-smmu-v3: Parse PASID devicetree property of platform devices 2020-01-15 16:00:57 +00:00
omap-iommu-debug.c Merge branches 'x86/vt-d', 'x86/amd', 'arm/smmu', 'arm/omap', 'generic-dma-ops' and 'core' into next 2019-07-04 17:26:48 +02:00
omap-iommu.c iommu: Add gfp parameter to iommu_ops::map 2019-10-15 11:31:04 +02:00
omap-iommu.h iommu/omap: add support for late attachment of iommu devices 2019-08-09 17:37:10 +02:00
omap-iopgtable.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
qcom_iommu.c iommu/qcom: Fix bogus detach logic 2020-02-19 11:55:48 +01:00
rockchip-iommu.c Merge branches 'iommu/fixes', 'arm/qcom', 'arm/renesas', 'arm/rockchip', 'arm/mediatek', 'arm/tegra', 'arm/smmu', 'x86/amd', 'x86/vt-d', 'virtio' and 'core' into next 2019-11-12 17:11:25 +01:00
s390-iommu.c iommu: Add gfp parameter to iommu_ops::map 2019-10-15 11:31:04 +02:00
tegra-gart.c iommu: Add gfp parameter to iommu_ops::map 2019-10-15 11:31:04 +02:00
tegra-smmu.c Merge branches 'iommu/fixes', 'arm/qcom', 'arm/renesas', 'arm/rockchip', 'arm/mediatek', 'arm/tegra', 'arm/smmu', 'x86/amd', 'x86/vt-d', 'virtio' and 'core' into next 2019-11-12 17:11:25 +01:00
virtio-iommu.c iommu: virtio: Use generic_iommu_put_resv_regions() 2019-12-23 14:07:03 +01:00