--- linux-2.6.28-rc4/mm/mmap.c Mon Nov 10 01:36:15 2008 +++ linux-2.6.28-rc4.fix/mm/mmap.c Wed Nov 12 01:21:39 2008 @@ -1704,7 +1704,7 @@ vma = find_vma_prev(mm, addr, &prev); if (vma && (vma->vm_start <= addr)) return vma; - if (expand_stack(prev, addr)) + if (!prev || expand_stack(prev, addr)) return NULL; if (prev->vm_flags & VM_LOCKED) { if (mlock_vma_pages_range(prev, addr, prev->vm_end) < 0)