[PATCH 1/2] Re: Major breakage in linux-git on x86_64, oom killergoes on rampage

From: Pavel Roskin
Date: Thu Aug 04 2005 - 16:09:37 EST


Hello again,

here's the solution. The x86_64 specific portion will be posted as a
separate patch.

> Now the system boot goes a little further and then the kernel reports a
> BUG in mm/memory.c:985. Apparently __handle_mm_fault() returns
> something unexpected.

I'm getting a BUG in mm/memory.c:985. The unexpected value is 18 or
VM_FAULT_MINOR|VM_FAULT_WRITE. As it turns out, __handle_mm_fault()
never returns VM_FAULT_WRITE, but in combination with VM_FAULT_MINOR.
Apparently, that's what was meant, and the fallthrough to case
VM_FAULT_MINOR is an indication of that.

Signed-off-by: Pavel Roskin <proski@xxxxxxx>

diff --git a/mm/memory.c b/mm/memory.c
--- a/mm/memory.c
+++ b/mm/memory.c
@@ -963,7 +963,7 @@ int get_user_pages(struct task_struct *t
spin_unlock(&mm->page_table_lock);
switch (__handle_mm_fault(mm, vma, start,
write_access)) {
- case VM_FAULT_WRITE:
+ case VM_FAULT_WRITE|VM_FAULT_MINOR:
/*
* do_wp_page has broken COW when
* necessary, even if maybe_mkwrite

--
Regards,
Pavel Roskin

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/