intel-iommu: Don't keep freeing page zero in dma_pte_free_pagetable()
Check dma_pte_present() and only free the page if there _is_ one. Kind of surprising that there was no warning about this. Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
This commit is contained in:
parent
75e6bf9638
commit
6a43e574c5
|
@ -826,8 +826,10 @@ static void dma_pte_free_pagetable(struct dmar_domain *domain,
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
do {
|
do {
|
||||||
free_pgtable_page(phys_to_virt(dma_pte_addr(pte)));
|
if (dma_pte_present(pte)) {
|
||||||
dma_clear_pte(pte);
|
free_pgtable_page(phys_to_virt(dma_pte_addr(pte)));
|
||||||
|
dma_clear_pte(pte);
|
||||||
|
}
|
||||||
pte++;
|
pte++;
|
||||||
tmp += level_size(level);
|
tmp += level_size(level);
|
||||||
} while (!first_pte_in_page(pte) &&
|
} while (!first_pte_in_page(pte) &&
|
||||||
|
|
Loading…
Reference in New Issue