Robin Murphy
164afb1d85
iommu/dma: Use correct offset in map_sg
...
When mapping a non-page-aligned scatterlist entry, we copy the original
offset to the output DMA address before aligning it to hand off to
iommu_map_sg(), then later adding the IOVA page address portion to get
the final mapped address. However, when the IOVA page size is smaller
than the CPU page size, it is the offset within the IOVA page we want,
not that within the CPU page, which can easily be larger than an IOVA
page and thus result in an incorrect final address.
Fix the bug by taking only the IOVA-aligned part of the offset as the
basis of the DMA address, not the whole thing.
Signed-off-by: Robin Murphy <robin.murphy@arm.com>
Signed-off-by: Joerg Roedel <jroedel@suse.de>
2016-01-07 13:36:41 +01:00
..
amd_iommu.c
mm, page_alloc: distinguish between being unable to sleep, unwilling to sleep and avoiding waking kswapd
2015-11-06 17:50:42 -08:00
amd_iommu_init.c
IOMMU Updates for Linux v4.4
2015-11-05 16:12:10 -08:00
amd_iommu_proto.h
amd_iommu_types.h
IOMMU Updates for Linux v4.4
2015-11-05 16:12:10 -08:00
amd_iommu_v2.c
iommu/amd: Do proper access checking before calling handle_mm_fault()
2015-12-14 15:37:47 +01:00
arm-smmu-v3.c
Merge branches 'x86/vt-d', 'arm/omap', 'arm/smmu', 's390', 'core' and 'x86/amd' into next
2015-11-02 20:03:34 +09:00
arm-smmu.c
Merge branches 'x86/vt-d', 'arm/omap', 'arm/smmu', 's390', 'core' and 'x86/amd' into next
2015-11-02 20:03:34 +09:00
dma-iommu.c
iommu/dma: Use correct offset in map_sg
2016-01-07 13:36:41 +01:00
dmar.c
iommu/vt-d: Generalise DMAR MSI setup to allow for page request events
2015-10-15 13:22:41 +01:00
exynos-iommu.c
fsl_pamu.c
powerpc/fsl: Move fsl_guts.h out of arch/powerpc
2015-10-21 18:05:50 -05:00
fsl_pamu.h
fsl_pamu_domain.c
iommu/fsl: Convert to device_group call-back
2015-10-22 00:00:49 +02:00
fsl_pamu_domain.h
intel-iommu.c
Revert "scatterlist: use sg_phys()"
2015-12-15 12:54:06 -08:00
intel-svm.c
iommu/vt-d: Do access checks before calling handle_mm_fault()
2015-12-14 15:37:55 +01:00
intel_irq_remapping.c
iommu/vt-d: Fix return value check of parse_ioapics_under_ir()
2015-11-02 19:57:31 +09:00
io-pgtable-arm.c
iommu/io-pgtable-arm: Don't use dma_to_phys()
2015-09-22 17:35:33 +01:00
io-pgtable.c
iommu/io-pgtable-arm: Move init-fn declarations to io-pgtable.h
2015-08-13 19:51:04 +02:00
io-pgtable.h
iommu/io-pgtable-arm: Move init-fn declarations to io-pgtable.h
2015-08-13 19:51:04 +02:00
iommu-sysfs.c
iommu-traces.c
iommu.c
Revert "scatterlist: use sg_phys()"
2015-12-15 12:54:06 -08:00
iova.c
iommu: Make the iova library a module
2015-07-28 15:48:01 +01:00
ipmmu-vmsa.c
iommu/ipmmu-vmsa: Don't truncate ttbr if LPAE is not enabled
2015-12-28 17:10:52 +01:00
irq_remapping.c
iommu/vt-d: Add a command line parameter for VT-d posted-interrupts
2015-10-01 15:06:54 +02:00
irq_remapping.h
Kconfig
IOMMU Updates for Linux v4.4
2015-11-05 16:12:10 -08:00
Makefile
IOMMU Updates for Linux v4.4
2015-11-05 16:12:10 -08:00
msm_iommu.c
iommu/msm: Use BUG_ON instead of if () BUG()
2015-08-13 19:50:51 +02:00
msm_iommu.h
msm_iommu_dev.c
msm_iommu_hw-8xxx.h
of_iommu.c
of: iommu: Silence misleading warning
2015-08-03 16:07:49 +02:00
omap-iommu-debug.c
fs/seq_file: convert int seq_vprint/seq_printf/etc... returns to void
2015-09-11 15:21:34 -07:00
omap-iommu.c
iommu/omap: Add support for configuring dsp iommus on DRA7xx
2015-10-14 14:35:47 +02:00
omap-iommu.h
iommu/omap: Add support for configuring dsp iommus on DRA7xx
2015-10-14 14:35:47 +02:00
omap-iopgtable.h
iommu/omap: Use BIT(x) macros in omap-iopgtable.h
2015-08-03 16:04:42 +02:00
rockchip-iommu.c
s390-iommu.c
s390/pci_dma: handle dma table failures
2015-11-09 09:10:49 +01:00
shmobile-iommu.c
shmobile-ipmmu.c
shmobile-ipmmu.h
tegra-gart.c
tegra-smmu.c
iommu/tegra-smmu: Parameterize number of TLB lines
2015-08-13 17:05:28 +02:00