Re: Linux 2.6.15-rc3
From: Nick Piggin
Date: Tue Nov 29 2005 - 02:42:43 EST
Michael Krufky wrote:
Unable to handle kernel NULL pointer dereference at virtual address
EFLAGS: 00010202 (2.6.15-rc3) EIP is at vm_normal_page+0x17/0x60
Process gdb (pid: 5628, threadinfo=f488e000 task=f7239a30)
[<c014a8f5>] get_user_pages+0x29f/0x309
The clues point to the following patch. Can you give it a test
please?
Thanks,
Nick
--
SUSE Labs, Novell Inc.
vm_normal_page can be called with a NULL vma. This can be replaced with
gate_vma, and no problem because none of the gate vmas use VM_PFNMAP
(if they did they would need to set vm_pgoff).
Signed-off-by: Nick Piggin <npiggin@xxxxxxx>
Index: linux-2.6/mm/memory.c
===================================================================
--- linux-2.6.orig/mm/memory.c
+++ linux-2.6/mm/memory.c
@@ -988,7 +988,8 @@ int get_user_pages(struct task_struct *t
return i ? : -EFAULT;
}
if (pages) {
- struct page *page = vm_normal_page(vma, start, *pte);
+ struct page *page;
+ page = vm_normal_page(gate_vma, start, *pte);
pages[i] = page;
if (page)
get_page(page);