aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-um/pgtable-3level.h
diff options
context:
space:
mode:
authorJeff Dike <jdike@addtoit.com>2005-09-03 15:57:52 -0700
committerLinus Torvalds <torvalds@evo.osdl.org>2005-09-05 00:06:24 -0700
commit7ef939054139ef857cebbec07cbd12d7cf7beedd (patch)
treec6e1c0722336b6155b0f7cf985b2ea4eb9c5d9e1 /include/asm-um/pgtable-3level.h
parent[PATCH] uml: fix advanced sysemu check (diff)
downloadlinux-dev-7ef939054139ef857cebbec07cbd12d7cf7beedd.tar.xz
linux-dev-7ef939054139ef857cebbec07cbd12d7cf7beedd.zip
[PATCH] uml: fix x86_64 page leak
We were leaking pmd pages when 3_LEVEL_PGTABLES was enabled. This fixes that. Signed-off-by: Jeff Dike <jdike@addtoit.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include/asm-um/pgtable-3level.h')
-rw-r--r--include/asm-um/pgtable-3level.h9
1 files changed, 3 insertions, 6 deletions
diff --git a/include/asm-um/pgtable-3level.h b/include/asm-um/pgtable-3level.h
index 32cd6236f245..786c25727289 100644
--- a/include/asm-um/pgtable-3level.h
+++ b/include/asm-um/pgtable-3level.h
@@ -69,14 +69,11 @@ static inline pmd_t *pmd_alloc_one(struct mm_struct *mm, unsigned long address)
return pmd;
}
-static inline void pmd_free(pmd_t *pmd){
- free_page((unsigned long) pmd);
+extern inline void pud_clear (pud_t *pud)
+{
+ set_pud(pud, __pud(0));
}
-#define __pmd_free_tlb(tlb,x) do { } while (0)
-
-static inline void pud_clear (pud_t * pud) { }
-
#define pud_page(pud) \
((struct page *) __va(pud_val(pud) & PAGE_MASK))