iommu/intel: add missing free_domain_mem
Add missing free_domain_mem on failure path after alloc_domain. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @km exists@ local idexpression e; expression e1,e2,e3; type T,T1; identifier f; @@ * e = alloc_domain(...) ... when any when != e = e1 when != e1 = (T)e when != e1(...,(T)e,...) when != &e->f if(...) { ... when != e2(...,(T1)e,...) when != e3 = e when forall ( return <+...e...+>; | * return ...; ) } // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr> Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
This commit is contained in:
parent
9579a974d1
commit
d2900bd63f
|
@ -2008,6 +2008,7 @@ static struct dmar_domain *get_domain_for_dev(struct pci_dev *pdev, int gaw)
|
|||
if (!drhd) {
|
||||
printk(KERN_ERR "IOMMU: can't find DMAR for device %s\n",
|
||||
pci_name(pdev));
|
||||
free_domain_mem(domain);
|
||||
return NULL;
|
||||
}
|
||||
iommu = drhd->iommu;
|
||||
|
|
Loading…
Reference in a new issue