1
0
Fork 0
alistair23-linux/drivers/iommu
Linus Torvalds 8a70dd2669 Merge tag 'for-linus-20151021' of git://git.infradead.org/intel-iommu
Pull intel-iommu bugfix from David Woodhouse:
 "This contains a single fix, for when the IOMMU API is used to overlay
  an existing mapping comprised of 4KiB pages, with a mapping that can
  use superpages.

  For the *first* superpage in the new mapping, we were correctly¹
  freeing the old bottom-level page table page and clearing the link to
  it, before installing the superpage.  For subsequent superpages,
  however, we weren't.  This causes a memory leak, and a warning about
  setting a PTE which is already set.

  ¹ Well, not *entirely* correctly.  We just free the page table pages
    right there and then, which is wrong.  In fact they should only be
    freed *after* the IOTLB is flushed so we know the hardware will no
    longer be looking at them....  and in fact I note that the IOTLB
    flush is completely missing from the intel_iommu_map() code path,
    although it needs to be there if it's permitted to overwrite
    existing mappings.

    Fixing those is somewhat more intrusive though, and will probably
    need to wait for 4.4 at this point"

* tag 'for-linus-20151021' of git://git.infradead.org/intel-iommu:
  iommu/vt-d: fix range computation when making room for large pages
2015-10-22 06:32:48 +09:00
..
Kconfig IOMMU Fixes for Linux v4.3-rc5 2015-10-13 10:09:59 -07:00
Makefile iommu/arm-smmu: Add initial driver support for ARM SMMUv3 devices 2015-05-29 11:12:01 +02:00
amd_iommu.c iommu/amd: Fix NULL pointer deref on device detach 2015-10-09 17:59:33 +02:00
amd_iommu_init.c iommu/amd: Prevent binding other PCI drivers to IOMMU PCI devices 2015-10-09 17:47:15 +02:00
amd_iommu_proto.h IOMMU Updates for Linux v4.2 2015-06-23 18:27:19 -07:00
amd_iommu_types.h IOMMU Updates for Linux v4.2 2015-06-23 18:27:19 -07:00
amd_iommu_v2.c iommu/amd: Use BUG_ON instead of if () BUG() 2015-08-13 19:49:14 +02:00
arm-smmu-v3.c iommu/arm-smmu: Use correct address mask for CMD_TLBI_S2_IPA 2015-09-22 17:36:05 +01:00
arm-smmu.c iommu/arm-smmu: Remove arm_smmu_flush_pgtable() 2015-08-06 14:35:40 +01:00
dmar.c iommu/vt-d: Avoid format string leaks into iommu_device_create 2015-08-03 16:15:47 +02:00
exynos-iommu.c iommu/exynos: Add callback for initializing devices from device tree 2015-05-29 10:50:08 +02:00
fsl_pamu.c iommu/fsl: Really fix init section(s) content 2015-08-18 11:30:46 +02:00
fsl_pamu.h iommu/fsl: Various cleanups 2015-02-03 18:47:18 +01:00
fsl_pamu_domain.c iommu/fsl: Make use of domain_alloc and domain_free 2015-03-31 15:32:14 +02:00
fsl_pamu_domain.h iommu/fsl: Make use of domain_alloc and domain_free 2015-03-31 15:32:14 +02:00
intel-iommu.c Merge tag 'for-linus-20151021' of git://git.infradead.org/intel-iommu 2015-10-22 06:32:48 +09:00
intel_irq_remapping.c iommu/vt-d: Access iomem correctly 2015-08-13 19:49:56 +02: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: Fix compile error in iommu-sysfs.c 2014-07-07 12:01:21 +02:00
iommu-traces.c iommu: Add iommu_error class event to iommu trace 2013-09-25 11:07:04 +02:00
iommu.c scatterlist: use sg_phys() 2015-08-17 08:13:26 -06:00
iova.c iommu: Make the iova library a module 2015-07-28 15:48:01 +01:00
ipmmu-vmsa.c iommu/ipmmu-vmsa: Clean up DMA API usage 2015-08-06 14:35:39 +01:00
irq_remapping.c iommu/vt-d: Return false instead of 0 in irq_remapping_cap() 2015-08-13 19:49:41 +02:00
irq_remapping.h iommu, x86: Setup Posted-Interrupts capability for Intel iommu 2015-06-12 11:33:52 +02:00
msm_iommu.c iommu/msm: Use BUG_ON instead of if () BUG() 2015-08-13 19:50:51 +02:00
msm_iommu.h iommu/msm: Move mach includes to iommu directory 2013-08-06 11:18:03 -07:00
msm_iommu_dev.c iommu/msm: Use dev_get_platdata() 2014-11-04 15:03:39 +01:00
msm_iommu_hw-8xxx.h iommu/msm: Move mach includes to iommu directory 2013-08-06 11:18:03 -07:00
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: Align code with open parenthesis 2015-08-03 16:04:43 +02:00
omap-iommu.h iommu/omap: Use BIT(x) macros in omap-iommu.h 2015-08-03 16:04:42 +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 Merge branches 'arm/rockchip', 'arm/exynos', 'arm/smmu', 'x86/vt-d', 'x86/amd', 'default-domains' and 'core' into next 2015-06-19 17:17:47 +02:00
shmobile-iommu.c iommu/shmobile: Make use of domain_alloc and domain_free 2015-03-31 15:32:13 +02:00
shmobile-ipmmu.c iommu: drop owner assignment from platform_drivers 2014-10-20 16:20:42 +02:00
shmobile-ipmmu.h iommu/shmobile: Turn the flush_lock mutex into a spinlock 2014-01-07 15:35:25 +01:00
tegra-gart.c Merge branches 'iommu/fixes', 'x86/vt-d', 'x86/amd', 'arm/smmu', 'arm/tegra' and 'core' into next 2015-04-02 13:33:19 +02:00
tegra-smmu.c iommu/tegra-smmu: Parameterize number of TLB lines 2015-08-13 17:05:28 +02:00