linux/drivers/iommu
Jiang Liu b658f2ad07 iommu/vt-d: Fix an off-by-one bug in __domain_mapping()
commit cc4f14aa17 upstream.

There's an off-by-one bug in function __domain_mapping(), which may
trigger the BUG_ON(nr_pages < lvl_pages) when
	(nr_pages + 1) & superpage_mask == 0

The issue was introduced by commit 9051aa0268 "intel-iommu: Combine
domain_pfn_mapping() and domain_sg_mapping()", which sets sg_res to
"nr_pages + 1" to avoid some of the 'sg_res==0' code paths.

It's safe to remove extra "+1" because sg_res is only used to calculate
page size now.

Reported-And-Tested-by: Sudeep Dutt <sudeep.dutt@intel.com>
Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com>
Acked-By: David Woodhouse <David.Woodhouse@intel.com>
Signed-off-by: Joerg Roedel <jroedel@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-01-16 06:59:01 -08:00
..
amd_iommu_init.c IOMMU Updates for Linux v3.10 2013-05-06 14:59:13 -07:00
amd_iommu_proto.h iommu/amd: Add initialization routines for AMD interrupt remapping 2012-09-28 17:43:52 +02:00
amd_iommu_types.h IOMMU Updates for Linux v3.10 2013-05-06 14:59:13 -07:00
amd_iommu_v2.c IOMMU Updates for Linux v3.6-rc1 2012-07-24 16:24:11 -07:00
amd_iommu.c iommu/amd: Fix cleanup_domain for mass device removal 2014-09-17 09:03:57 -07:00
dmar.c iommu/vt-d: Remove warning for HPET scope type 2013-04-24 19:53:31 +02:00
exynos-iommu.c iommu/fsl: Make iova dma_addr_t in the iommu_iova_to_phys API. 2013-04-02 18:20:53 +02:00
intel_irq_remapping.c iommu: Remove stack trace from broken irq remapping warning 2013-12-08 07:29:27 -08:00
intel-iommu.c iommu/vt-d: Fix an off-by-one bug in __domain_mapping() 2015-01-16 06:59:01 -08:00
iommu.c Merge branches 'iommu/fixes', 'x86/vt-d', 'x86/amd', 'ppc/pamu', 'core' and 'arm/tegra' into next 2013-05-02 12:10:19 +02:00
iova.c iommu: Fix typo in iommu 2012-07-24 12:58:49 +02:00
irq_remapping.c Merge branches 'iommu/fixes', 'x86/vt-d', 'x86/amd', 'ppc/pamu', 'core' and 'arm/tegra' into next 2013-05-02 12:10:19 +02:00
irq_remapping.h iommu/vt-d: add quirk for broken interrupt remapping on 55XX chipsets 2013-04-18 17:00:47 +02:00
Kconfig iommu: OMAP: build only on OMAP2+ 2013-03-09 18:54:34 +01:00
Makefile iommu/shmobile: Add iommu driver for Renesas IPMMU modules 2013-02-06 10:57:25 +01:00
msm_iommu_dev.c
msm_iommu.c iommu/fsl: Make iova dma_addr_t in the iommu_iova_to_phys API. 2013-04-02 18:20:53 +02:00
of_iommu.c iommu: Add DMA window parser, of_get_dma_window() 2012-06-25 13:50:28 +02:00
omap-iommu-debug.c ARM: OMAP2+: Move iommu/iovmm headers to platform_data 2012-11-20 10:05:01 -08:00
omap-iommu.c iommu/fsl: Make iova dma_addr_t in the iommu_iova_to_phys API. 2013-04-02 18:20:53 +02:00
omap-iommu.h iommu/omap: Adapt to runtime pm 2012-12-03 18:48:23 +01:00
omap-iommu2.c iommu/omap: Adapt to runtime pm 2012-12-03 18:48:23 +01:00
omap-iopgtable.h ARM: OMAP2+: Move iommu2 to drivers/iommu/omap-iommu2.c 2012-11-20 10:04:41 -08:00
omap-iovmm.c ARM: OMAP2+: Move iommu/iovmm headers to platform_data 2012-11-20 10:05:01 -08:00
pci.h iommu: Move swap_pci_ref function to drivers/iommu/pci.h. 2013-04-23 14:55:00 +02:00
shmobile-iommu.c iommu/fsl: Make iova dma_addr_t in the iommu_iova_to_phys API. 2013-04-02 18:20:53 +02:00
shmobile-ipmmu.c iommu/shmobile: Add iommu driver for Renesas IPMMU modules 2013-02-06 10:57:25 +01:00
shmobile-ipmmu.h iommu/shmobile: Add iommu driver for Renesas IPMMU modules 2013-02-06 10:57:25 +01:00
tegra-gart.c Merge branches 'iommu/fixes', 'x86/vt-d', 'x86/amd', 'ppc/pamu', 'core' and 'arm/tegra' into next 2013-05-02 12:10:19 +02:00
tegra-smmu.c Merge branches 'iommu/fixes', 'x86/vt-d', 'x86/amd', 'ppc/pamu', 'core' and 'arm/tegra' into next 2013-05-02 12:10:19 +02:00