From: BlaisorBlade An exhausted do_swap_page() should return VM_FAULT_OOM rather than -ENOMEM. --- mm/memory.c | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) diff -puN mm/memory.c~do_swap_page-retval-fix mm/memory.c --- 25/mm/memory.c~do_swap_page-retval-fix 2004-02-15 10:33:57.000000000 -0800 +++ 25-akpm/mm/memory.c 2004-02-15 10:33:57.000000000 -0800 @@ -1291,7 +1291,7 @@ static int do_swap_page(struct mm_struct mark_page_accessed(page); pte_chain = pte_chain_alloc(GFP_KERNEL); if (!pte_chain) { - ret = -ENOMEM; + ret = VM_FAULT_OOM; goto out; } lock_page(page); _