summaryrefslogtreecommitdiff
path: root/mm/page_alloc.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2020-08-23 21:48:27 +0300
committerDavid S. Miller <davem@davemloft.net>2020-08-23 21:48:27 +0300
commit7611cbb900b4b9a6fe5eca12fb12645c0576a015 (patch)
tree9c8c8e1fa991e4728d25a19b86c974c8e49ee1b7 /mm/page_alloc.c
parentd7223aa5867134b9923b42e1245801bd790a1d8c (diff)
parentcb95712138ec5e480db5160b41172bbc6f6494cc (diff)
downloadlinux-7611cbb900b4b9a6fe5eca12fb12645c0576a015.tar.xz
Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
Diffstat (limited to 'mm/page_alloc.c')
-rw-r--r--mm/page_alloc.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index 0e2bab486fea..fab5e97dc9ca 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -1302,6 +1302,11 @@ static void free_pcppages_bulk(struct zone *zone, int count,
struct page *page, *tmp;
LIST_HEAD(head);
+ /*
+ * Ensure proper count is passed which otherwise would stuck in the
+ * below while (list_empty(list)) loop.
+ */
+ count = min(pcp->count, count);
while (count) {
struct list_head *list;
@@ -7888,7 +7893,7 @@ int __meminit init_per_zone_wmark_min(void)
return 0;
}
-core_initcall(init_per_zone_wmark_min)
+postcore_initcall(init_per_zone_wmark_min)
/*
* min_free_kbytes_sysctl_handler - just a wrapper around proc_dointvec() so