Andrew, Anybody ? Can I have an -mm ack for this ? Cheers, Ben.
On Tue, 2011-06-28 at 14:54 -0500, Becky Bruce wrote: > From: Becky Bruce <bec...@kernel.crashing.org> > > This: > > vma->vm_pgoff & ~(huge_page_mask(h) >> PAGE_SHIFT) > > is incorrect on 32-bit. It causes us to & the pgoff with > something that looks like this (for a 4m hugepage): 0xfff003ff. > The mask should be flipped and *then* shifted, to give you > 0x0000_03fff. > > Signed-off-by: Becky Bruce <bec...@kernel.crashing.org> > --- > fs/hugetlbfs/inode.c | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/fs/hugetlbfs/inode.c b/fs/hugetlbfs/inode.c > index 7aafeb8..537a209 100644 > --- a/fs/hugetlbfs/inode.c > +++ b/fs/hugetlbfs/inode.c > @@ -94,7 +94,7 @@ static int hugetlbfs_file_mmap(struct file *file, struct > vm_area_struct *vma) > vma->vm_flags |= VM_HUGETLB | VM_RESERVED; > vma->vm_ops = &hugetlb_vm_ops; > > - if (vma->vm_pgoff & ~(huge_page_mask(h) >> PAGE_SHIFT)) > + if (vma->vm_pgoff & (~huge_page_mask(h) >> PAGE_SHIFT)) > return -EINVAL; > > vma_len = (loff_t)(vma->vm_end - vma->vm_start); _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev