From: Paolo 'Blaisorblade' Giarrusso If !vma->vm-ops we already BUG above, so retesting it is useless. The compiler cannot optimize this because BUG is a macro and is not thus marked noreturn; that should possibly be fixed. Signed-off-by: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton --- mm/memory.c | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) diff -puN mm/memory.c~remove-implied-vm_ops-check mm/memory.c --- 25/mm/memory.c~remove-implied-vm_ops-check Wed Aug 17 14:50:14 2005 +++ 25-akpm/mm/memory.c Wed Aug 17 14:50:14 2005 @@ -1944,7 +1944,7 @@ static int do_file_page(struct mm_struct * Fall back to the linear mapping if the fs does not support * ->populate: */ - if (!vma->vm_ops || !vma->vm_ops->populate || + if (!vma->vm_ops->populate || (write_access && !(vma->vm_flags & VM_SHARED))) { pte_clear(mm, address, pte); return do_no_page(mm, vma, address, write_access, pte, pmd); _