diff options
author | Jiang Liu <[email protected]> | 2014-04-09 10:20:39 +0800 |
---|---|---|
committer | David Woodhouse <[email protected]> | 2014-04-13 13:07:56 +0100 |
commit | adeb25905c644350baf1f446bcd856517e58060e (patch) | |
tree | 1ce3d39a0761c3cf12c562128c605af7bb3cbb8f /lib/ucs2_string.c | |
parent | 7713ec066ae8adc49dd8daa02a73e6b60af6ee5f (diff) |
iommu/vt-d: fix memory leakage caused by commit ea8ea46
Commit ea8ea46 "iommu/vt-d: Clean up and fix page table clear/free
behaviour" introduces possible leakage of DMA page tables due to:
for (pte = page_address(pg); !first_pte_in_page(pte); pte++) {
if (dma_pte_present(pte) && !dma_pte_superpage(pte))
freelist = dma_pte_list_pagetables(domain, level - 1,
pte, freelist);
}
For the first pte in a page, first_pte_in_page(pte) will always be true,
thus dma_pte_list_pagetables() will never be called and leak DMA page
tables if level is bigger than 1.
Signed-off-by: Jiang Liu <[email protected]>
Signed-off-by: David Woodhouse <[email protected]>
Diffstat (limited to 'lib/ucs2_string.c')
0 files changed, 0 insertions, 0 deletions