diff options
author | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2015-04-16 14:47:33 +0200 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2015-04-23 16:52:01 +0200 |
commit | 7e01b5acd88b3f3108d8c4ce44e3205d67437202 (patch) | |
tree | 8278dc40fdf14dedb0b89435a659de3fd413faec /kernel/kexec.c | |
parent | 27cf3a16b2535a490f8cf1d29a6634f1c70f7831 (diff) | |
download | linux-stable-7e01b5acd88b3f3108d8c4ce44e3205d67437202.tar.gz linux-stable-7e01b5acd88b3f3108d8c4ce44e3205d67437202.tar.bz2 linux-stable-7e01b5acd88b3f3108d8c4ce44e3205d67437202.zip |
kexec: allocate the kexec control page with KEXEC_CONTROL_MEMORY_GFP
Introduce KEXEC_CONTROL_MEMORY_GFP to allow the architecture code
to override the gfp flags of the allocation for the kexec control
page. The loop in kimage_alloc_normal_control_pages allocates pages
with GFP_KERNEL until a page is found that happens to have an
address smaller than the KEXEC_CONTROL_MEMORY_LIMIT. On systems
with a large memory size but a small KEXEC_CONTROL_MEMORY_LIMIT
the loop will keep allocating memory until the oom killer steps in.
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'kernel/kexec.c')
-rw-r--r-- | kernel/kexec.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/kexec.c b/kernel/kexec.c index 38c25b1f2fd5..7a36fdcca5bf 100644 --- a/kernel/kexec.c +++ b/kernel/kexec.c @@ -707,7 +707,7 @@ static struct page *kimage_alloc_normal_control_pages(struct kimage *image, do { unsigned long pfn, epfn, addr, eaddr; - pages = kimage_alloc_pages(GFP_KERNEL, order); + pages = kimage_alloc_pages(KEXEC_CONTROL_MEMORY_GFP, order); if (!pages) break; pfn = page_to_pfn(pages); |