Browse Source

x86/amd-iommu: Use helper function to destroy domain

In the amd_iommu_domain_destroy the protection_domain_free
function is partly reimplemented. The 'partly' is the bug
here because the domain is not deleted from the domain list.
This results in use-after-free errors and data-corruption.
Fix it by just using protection_domain_free instead.

Cc: stable@kernel.org
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Joerg Roedel 15 years ago
parent
commit
8b408fe4f8
1 changed files with 1 additions and 3 deletions
  1. 1 3
      arch/x86/kernel/amd_iommu.c

+ 1 - 3
arch/x86/kernel/amd_iommu.c

@@ -2380,9 +2380,7 @@ static void amd_iommu_domain_destroy(struct iommu_domain *dom)
 
 
 	free_pagetable(domain);
 	free_pagetable(domain);
 
 
-	domain_id_free(domain->id);
-
-	kfree(domain);
+	protection_domain_free(domain);
 
 
 	dom->priv = NULL;
 	dom->priv = NULL;
 }
 }