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;
|
||||
}
|
||||
do {
|
||||
free_pgtable_page(phys_to_virt(dma_pte_addr(pte)));
|
||||
dma_clear_pte(pte);
|
||||
if (dma_pte_present(pte)) {
|
||||
free_pgtable_page(phys_to_virt(dma_pte_addr(pte)));
|
||||
dma_clear_pte(pte);
|
||||
}
|
||||
pte++;
|
||||
tmp += level_size(level);
|
||||
} while (!first_pte_in_page(pte) &&
|
||||
|
|
Loading…
Reference in a new issue