diff options
Diffstat (limited to 'mm/hugetlb.c')
| -rw-r--r-- | mm/hugetlb.c | 9 | 
1 files changed, 8 insertions, 1 deletions
diff --git a/mm/hugetlb.c b/mm/hugetlb.c index 7c204e3d132b..976bbc5646fe 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c @@ -18,6 +18,7 @@  #include <linux/bootmem.h>  #include <linux/sysfs.h>  #include <linux/slab.h> +#include <linux/mmdebug.h>  #include <linux/sched/signal.h>  #include <linux/rmap.h>  #include <linux/string_helpers.h> @@ -1583,7 +1584,7 @@ static struct page *alloc_surplus_huge_page(struct hstate *h, gfp_t gfp_mask,  		page = NULL;  	} else {  		h->surplus_huge_pages++; -		h->nr_huge_pages_node[page_to_nid(page)]++; +		h->surplus_huge_pages_node[page_to_nid(page)]++;  	}  out_unlock: @@ -4374,6 +4375,12 @@ int hugetlb_reserve_pages(struct inode *inode,  	struct resv_map *resv_map;  	long gbl_reserve; +	/* This should never happen */ +	if (from > to) { +		VM_WARN(1, "%s called with a negative range\n", __func__); +		return -EINVAL; +	} +  	/*  	 * Only apply hugepage reservation if asked. At fault time, an  	 * attempt will be made for VM_NORESERVE to allocate a page  |