• Joonsoo Kim's avatar
    mm/hugetlb: add same zone check in pfn_range_valid_gigantic() · f44b2dda
    Joonsoo Kim authored
    This patchset deals with some problematic sites that iterate pfn ranges.
    
    There is a system thats node's pfns are overlapped as follows:
    
      -----pfn-------->
      N0 N1 N2 N0 N1 N2
    
    Therefore, we need to take care of this overlapping when iterating pfn
    range.
    
    I audit many iterating sites that uses pfn_valid(), pfn_valid_within(),
    zone_start_pfn and etc.  and others looks safe to me.  This is a
    preparation step for a new CMA implementation, ZONE_CMA
    (https://lkml.org/lkml/2015/2/12/95), because it would be easily
    overlapped with other zones.  But, zone overlap check is also needed for
    the general case so I send it separately.
    
    This patch (of 5):
    
    alloc_gigantic_page() uses alloc_contig_range() and this requires that
    the requested range is in a single zone.  To satisfy this requirement,
    add this check to pfn_range_valid_gigantic().
    Signed-off-by: default avatarJoonsoo Kim <iamjoonsoo.kim@lge.com>
    Acked-by: default avatarVlastimil Babka <vbabka@suse.cz>
    Cc: Rik van Riel <riel@redhat.com>
    Cc: Johannes Weiner <hannes@cmpxchg.org>
    Cc: Mel Gorman <mgorman@techsingularity.net>
    Cc: Laura Abbott <lauraa@codeaurora.org>
    Cc: Minchan Kim <minchan@kernel.org>
    Cc: Marek Szyprowski <m.szyprowski@samsung.com>
    Cc: Michal Nazarewicz <mina86@mina86.com>
    Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>
    Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>
    Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    Cc: Paul Mackerras <paulus@samba.org>
    Cc: Michael Ellerman <mpe@ellerman.id.au>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    f44b2dda
hugetlb.c 118 KB