diff --git a/mm/memory.c b/mm/memory.c index 2a8430844b6d..b3c42f0f65c2 100644 --- a/mm/memory.c +++ b/mm/memory.c @@ -2361,7 +2361,7 @@ static int do_linear_fault(struct mm_struct *mm, struct vm_area_struct *vma, int write_access, pte_t orig_pte) { pgoff_t pgoff = (((address & PAGE_MASK) - - vma->vm_start) >> PAGE_CACHE_SHIFT) + vma->vm_pgoff; + - vma->vm_start) >> PAGE_SHIFT) + vma->vm_pgoff; unsigned int flags = (write_access ? FAULT_FLAG_WRITE : 0); pte_unmap(page_table);