diff -urN 2.4.8ac10/mm/memory.c 2.4.8ac11/mm/memory.c --- 2.4.8ac10/mm/memory.c Fri Aug 24 00:27:50 2001 +++ 2.4.8ac11/mm/memory.c Sat Aug 25 04:23:29 2001 @@ -129,11 +129,13 @@ { pgd_t * page_dir = mm->pgd; + spin_lock(&mm->page_table_lock); page_dir += first; do { free_one_pgd(page_dir); page_dir++; } while (--nr); + spin_unlock(&mm->page_table_lock); /* keep the page table cache within bounds */ check_pgt_cache();