iommu/vt-d: Avoid freeing virtual machine domain in free_dmar_iommu()
authorJiang Liu <jiang.liu@linux.intel.com>
Fri, 11 Jul 2014 06:19:31 +0000 (14:19 +0800)
committerJoerg Roedel <jroedel@suse.de>
Wed, 23 Jul 2014 14:04:47 +0000 (16:04 +0200)
commit129ad28100cccc0ff01f2227dd8d0849c0114ade
tree465a8c978895755ef6279bdcd776d456e4d7574f
parent2a46ddf77c32da1f4137aeb902bc4e1f50582b69
iommu/vt-d: Avoid freeing virtual machine domain in free_dmar_iommu()

Virtual machine domains are created by intel_iommu_domain_init() and
should be destroyed by intel_iommu_domain_destroy(). So avoid freeing
virtual machine domain data structure in free_dmar_iommu() when
doamin->iommu_count reaches zero, otherwise it may cause invalid
memory access because the IOMMU framework still holds references
to the domain structure.

Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com>
Signed-off-by: Joerg Roedel <jroedel@suse.de>
drivers/iommu/intel-iommu.c