AMD IOMMU: free domain bitmap with its allocation order
authorJoerg Roedel <joerg.roedel@amd.com>
Wed, 17 Sep 2008 10:19:58 +0000 (12:19 +0200)
committerIngo Molnar <mingo@elte.hu>
Fri, 19 Sep 2008 10:59:27 +0000 (12:59 +0200)
The amd_iommu_pd_alloc_bitmap is allocated with a calculated order and
freed with order 1. This is not a bug since the calculated order always
evaluates to 1, but its unclean code. So replace the 1 with the
calculation in the release path.

Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/kernel/amd_iommu_init.c

index 8c137598555737807a9bd1d1dd514b62a45ae01d..e60f4cd29eb25a7e717d236ccb08263eda72671a 100644 (file)
@@ -1144,7 +1144,8 @@ out:
        return ret;
 
 free:
-       free_pages((unsigned long)amd_iommu_pd_alloc_bitmap, 1);
+       free_pages((unsigned long)amd_iommu_pd_alloc_bitmap,
+                  get_order(MAX_DOMAIN_ID/8));
 
        free_pages((unsigned long)amd_iommu_pd_table,
                   get_order(rlookup_table_size));