diff options
author | Jan Kiszka <jan.kiszka@siemens.com> | 2010-11-02 08:05:51 +0100 |
---|---|---|
committer | Andi Kleen <ak@linux.intel.com> | 2011-04-28 08:21:15 -0700 |
commit | 62e2d392a18f2a3149e31fecbe18a32a06587174 (patch) | |
tree | ebfe6ab02347ac7d4670cccfb279f763a192737b /drivers | |
parent | f0aa357c5f66cc5befc35d5d438d323182cdeb2a (diff) |
intel-iommu: Fix use after release during device attach
upstream commit 7a6610139a
Obtain the new pgd pointer before releasing the page containing this
value.
Cc: stable@kernel.org
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Reviewed-by: Sheng Yang <sheng@linux.intel.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/pci/intel-iommu.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/pci/intel-iommu.c b/drivers/pci/intel-iommu.c index 83ac0a08f70..46fcc591d5e 100644 --- a/drivers/pci/intel-iommu.c +++ b/drivers/pci/intel-iommu.c @@ -3638,9 +3638,9 @@ static int intel_iommu_attach_device(struct iommu_domain *domain, pte = dmar_domain->pgd; if (dma_pte_present(pte)) { - free_pgtable_page(dmar_domain->pgd); dmar_domain->pgd = (struct dma_pte *) phys_to_virt(dma_pte_addr(pte)); + free_pgtable_page(pte); } dmar_domain->agaw--; } |