--- pre-2.3.11-1_shm/ipc/shm.c.old Tue Jul 13 14:30:48 1999 +++ pre-2.3.11-1_shm/ipc/shm.c Tue Jul 13 14:32:53 1999 @@ -683,8 +683,7 @@ return pte_page(pte); oom: unlock_kernel(); - oom(current); - return 0; + return -1; } /* --- pre-2.3.11-1/mm/memory.c Tue Jul 13 02:02:40 1999 +++ pre-2.3.11-1_shm/mm/memory.c Tue Jul 13 14:32:42 1999 @@ -898,6 +898,8 @@ page = vma->vm_ops->nopage(vma, address & PAGE_MASK, (vma->vm_flags & VM_SHARED)?0:write_access); if (!page) return 0; /* SIGBUS - but we _really_ should know whether it is OOM or SIGBUS */ + if (page == -1) + return -1; /* OOM */ ++tsk->maj_flt; ++vma->vm_mm->rss;