intel-iommu: Fix reference by physical address in intel_iommu_attach_device()
authorSheng Yang <sheng@linux.intel.com>
Sat, 12 Jun 2010 11:21:42 +0000 (19:21 +0800)
committerDavid Woodhouse <David.Woodhouse@intel.com>
Tue, 15 Jun 2010 09:40:02 +0000 (10:40 +0100)
commit25cbff1660d3f4c059a178a1e5b851be6d70c5e8
treeb0f43789d01fcb89041195550a582a41dfb979d7
parent7e27d6e778cd87b6f2415515d7127eba53fe5d02
intel-iommu: Fix reference by physical address in intel_iommu_attach_device()

Commit a99c47a2 "intel-iommu: errors with smaller iommu widths" replace the
dmar_domain->pgd with the first entry of page table when iommu's supported
width is smaller than dmar_domain's. But it use physical address directly
for new dmar_domain->pgd...

This result in KVM oops with VT-d on some machines.

Reported-by: Allen Kay <allen.m.kay@intel.com>
Cc: Tom Lyon <pugs@cisco.com>
Signed-off-by: Sheng Yang <sheng@linux.intel.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
drivers/pci/intel-iommu.c