diff -ur /md0/kernels/2.4/v2.4.8-ac9/mm/memory.c vm-v2.4.8-ac9/mm/memory.c --- /md0/kernels/2.4/v2.4.8-ac9/mm/memory.c Thu Aug 23 13:48:25 2001 +++ vm-v2.4.8-ac9/mm/memory.c Thu Aug 23 14:45:46 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();