--- 2.4.10pre12aa1/mm/memory.c.~1~ Thu Sep 20 07:20:03 2001 +++ 2.4.10pre12aa1/mm/memory.c Thu Sep 20 08:45:12 2001 @@ -1155,14 +1155,11 @@ pte = mk_pte(page, vma->vm_page_prot); swap_free(entry); - if (exclusive_swap_page(page)) { -#if 0 - if (write_access) - pte = pte_mkwrite(pte_mkdirty(pte)); -#else + if (exclusive_swap_page(page)) { + if (vma->vm_flags & VM_WRITE) + pte = pte_mkwrite(pte); + pte = pte_mkdirty(pte); delete_from_swap_cache_nolock(page); - pte = pte_mkwrite(pte_mkdirty(pte)); -#endif } UnlockPage(page);