summaryrefslogtreecommitdiff
path: root/mm/hugetlb.c
diff options
context:
space:
mode:
authorAndrew Morton <akpm@linux-foundation.org>2025-07-12 14:48:26 -0700
committerAndrew Morton <akpm@linux-foundation.org>2025-07-12 14:48:26 -0700
commitcac3d177c045d1ff88ce4b64859c13de133564ed (patch)
treee0e98021ddb23607f586787799ebf5d048203f3e /mm/hugetlb.c
parentfdc3bc3497946c6b416a17628907581657102e60 (diff)
parentdb6cc3f4ac2e6cdc898fc9cbc8b32ae1bf56bdad (diff)
Merge branch 'mm-hotfixes-stable' into mm-stable to pick up changes which
are required for a merge of the series "mm: folio_pte_batch() improvements".
Diffstat (limited to 'mm/hugetlb.c')
-rw-r--r--mm/hugetlb.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/mm/hugetlb.c b/mm/hugetlb.c
index da9f10710c27..c03896375749 100644
--- a/mm/hugetlb.c
+++ b/mm/hugetlb.c
@@ -2335,12 +2335,15 @@ struct folio *alloc_hugetlb_folio_reserve(struct hstate *h, int preferred_nid,
struct folio *folio;
spin_lock_irq(&hugetlb_lock);
+ if (!h->resv_huge_pages) {
+ spin_unlock_irq(&hugetlb_lock);
+ return NULL;
+ }
+
folio = dequeue_hugetlb_folio_nodemask(h, gfp_mask, preferred_nid,
nmask);
- if (folio) {
- VM_BUG_ON(!h->resv_huge_pages);
+ if (folio)
h->resv_huge_pages--;
- }
spin_unlock_irq(&hugetlb_lock);
return folio;