Index: linux-2.6/mm/memory.c =================================================================== --- linux-2.6.orig/mm/memory.c 2005-07-31 11:49:35.000000000 +1000 +++ linux-2.6/mm/memory.c 2005-08-01 08:21:21.000000000 +1000 @@ -971,7 +971,9 @@ int get_user_pages(struct task_struct *t * that we have actually performed * the write fault (below). */ - continue; + if (write) + continue; + break; default: BUG(); }