--- 1.177/mm/shmem.c 2005-04-01 12:07:06 -08:00 +++ 1.178/mm/shmem.c 2005-04-01 12:07:06 -08:00 @@ -1162,6 +1162,8 @@ idx = (address - vma->vm_start) >> PAGE_SHIFT; idx += vma->vm_pgoff; idx >>= PAGE_CACHE_SHIFT - PAGE_SHIFT; + if (((loff_t) idx << PAGE_CACHE_SHIFT) >= i_size_read(inode)) + return NOPAGE_SIGBUS; error = shmem_getpage(inode, idx, &page, SGP_CACHE, type); if (error)