• Adam Litke's avatar
    [PATCH] Fix get_unmapped_area and fsync for hugetlb shm segments · 516dffdc
    Adam Litke authored
    This patch provides the following hugetlb-related fixes to the recent stacked
    shm files changes:
     - Update is_file_hugepages() so it will reconize hugetlb shm segments.
     - get_unmapped_area must be called with the nested file struct to handle
       the sfd->file->f_ops->get_unmapped_area == NULL case.
     - The fsync f_op must be wrapped since it is specified in the hugetlbfs
       f_ops.
    
    This is based on proposed fixes from Eric Biederman that were debugged and
    tested by me.  Without it, attempting to use hugetlb shared memory segments
    on powerpc (and likely ia64) will kill your box.
    Signed-off-by: default avatarAdam Litke <agl@us.ibm.com>
    Cc: Eric Biederman <ebiederm@xmission.com>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Acked-by: default avatarWilliam Irwin <bill.irwin@oracle.com>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    516dffdc
shm.c 25.7 KB