• Adam Litke's avatar
    hugetlb: enforce quotas during reservation for shared mappings · 90d8b7e6
    Adam Litke authored
    When a MAP_SHARED mmap of a hugetlbfs file succeeds, huge pages are reserved
    to guarantee no problems will occur later when instantiating pages.  If quotas
    are in force, page instantiation could fail due to a race with another process
    or an oversized (but approved) shared mapping.
    
    To prevent these scenarios, debit the quota for the full reservation amount up
    front and credit the unused quota when the reservation is released.
    Signed-off-by: default avatarAdam Litke <agl@us.ibm.com>
    Cc: Ken Chen <kenchen@google.com>
    Cc: Andy Whitcroft <apw@shadowen.org>
    Cc: Dave Hansen <haveblue@us.ibm.com>
    Cc: David Gibson <hermes@gibson.dropbear.id.au>
    Cc: William Lee Irwin III <wli@holomorphy.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    90d8b7e6
hugetlb.c 28.2 KB