Free user memory only up to UVPT on x86
authorBarret Rhoden <brho@cs.berkeley.edu>
Fri, 22 Jan 2010 06:24:57 +0000 (22:24 -0800)
committerBarret Rhoden <brho@cs.berkeley.edu>
Fri, 22 Jan 2010 06:24:57 +0000 (22:24 -0800)
Not sure about sparc, but we don't want to free the page tables via the
UVPT or VPT mappings during user_mem_free() on x86.

kern/arch/i386/env.c

index e706115..72eb99f 100644 (file)
@@ -91,8 +91,8 @@ env_user_mem_free(env_t* e)
        uint32_t pdeno, pteno;
        physaddr_t pa;
 
-       static_assert(KERNBASE % PTSIZE == 0);
-       for (pdeno = 0; pdeno < PDX(KERNBASE); pdeno++) {
+       static_assert(UVPT % PTSIZE == 0);
+       for (pdeno = 0; pdeno < PDX(UVPT); pdeno++) {
 
                // only look at mapped page tables
                if (!(e->env_pgdir[pdeno] & PTE_P))