Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f6019271 authored by Joerg Roedel's avatar Joerg Roedel
Browse files

iommu/amd: Set global pointers to NULL after freeing them



Avoid any tries to double-free these pointers.

Signed-off-by: default avatarJoerg Roedel <jroedel@suse.de>
parent 151b0903
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -2114,18 +2114,22 @@ static void __init free_iommu_resources(void)
	kmemleak_free(irq_lookup_table);
	free_pages((unsigned long)irq_lookup_table,
		   get_order(rlookup_table_size));
	irq_lookup_table = NULL;

	kmem_cache_destroy(amd_iommu_irq_cache);
	amd_iommu_irq_cache = NULL;

	free_pages((unsigned long)amd_iommu_rlookup_table,
		   get_order(rlookup_table_size));
	amd_iommu_rlookup_table = NULL;

	free_pages((unsigned long)amd_iommu_alias_table,
		   get_order(alias_table_size));
	amd_iommu_alias_table = NULL;

	free_pages((unsigned long)amd_iommu_dev_table,
		   get_order(dev_table_size));
	amd_iommu_dev_table = NULL;

	free_iommu_all();

@@ -2195,6 +2199,7 @@ static void __init free_dma_resources(void)
{
	free_pages((unsigned long)amd_iommu_pd_alloc_bitmap,
		   get_order(MAX_DOMAIN_ID/8));
	amd_iommu_pd_alloc_bitmap = NULL;

	free_unity_maps();
}