On Sun, Jan 31, 2016 at 11:13:21PM +1100, Matthew Wilcox wrote: > do_fault assumes that PAGE_SIZE is the same as PAGE_CACHE_SIZE. > Use linear_page_index() to calculate pgoff in the correct units. > > Signed-off-by: Matthew Wilcox <matthew.r.wilcox@xxxxxxxxx> Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> 'linear' part of helper name is not relevant any more since we've dropped non-linear mappings. Probably, we should rename helpers. > --- > mm/memory.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/mm/memory.c b/mm/memory.c > index 554816b..5224c06 100644 > --- a/mm/memory.c > +++ b/mm/memory.c > @@ -3161,8 +3161,7 @@ static int do_fault(struct mm_struct *mm, struct vm_area_struct *vma, > unsigned long address, pte_t *page_table, pmd_t *pmd, > unsigned int flags, pte_t orig_pte) > { > - pgoff_t pgoff = (((address & PAGE_MASK) > - - vma->vm_start) >> PAGE_SHIFT) + vma->vm_pgoff; > + pgoff_t pgoff = linear_page_index(vma, address); > > pte_unmap(page_table); > /* The VMA was not fully populated on mmap() or missing VM_DONTEXPAND */ > -- > 2.7.0.rc3 > > -- > To unsubscribe, send a message with 'unsubscribe linux-mm' in > the body to majordomo@xxxxxxxxx. For more info on Linux MM, > see: http://www.linux-mm.org/ . > Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a> -- Kirill A. Shutemov -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>