91 lines
3.2 KiB
Diff
91 lines
3.2 KiB
Diff
From 32cae4ea1b3927843b18c32e8e1cdfab8a0b2c19 Mon Sep 17 00:00:00 2001
|
|
From: Baoquan He <bhe@redhat.com>
|
|
Date: Sat, 28 Oct 2017 09:30:38 +0800
|
|
Subject: [PATCH 081/233] x86/mm/64: Rename the register_page_bootmem_memmap()
|
|
'size' parameter to 'nr_pages'
|
|
MIME-Version: 1.0
|
|
Content-Type: text/plain; charset=UTF-8
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
CVE-2017-5754
|
|
|
|
register_page_bootmem_memmap()'s 3rd 'size' parameter is named
|
|
in a somewhat misleading fashion - rename it to 'nr_pages' which
|
|
makes the units of it much clearer.
|
|
|
|
Meanwhile rename the existing local variable 'nr_pages' to
|
|
'nr_pmd_pages', a more expressive name, to avoid conflict with
|
|
new function parameter 'nr_pages'.
|
|
|
|
(Also clean up the unnecessary parentheses in which get_order() is called.)
|
|
|
|
Signed-off-by: Baoquan He <bhe@redhat.com>
|
|
Acked-by: Thomas Gleixner <tglx@linutronix.de>
|
|
Cc: Linus Torvalds <torvalds@linux-foundation.org>
|
|
Cc: Peter Zijlstra <peterz@infradead.org>
|
|
Cc: akpm@linux-foundation.org
|
|
Link: http://lkml.kernel.org/r/1509154238-23250-1-git-send-email-bhe@redhat.com
|
|
Signed-off-by: Ingo Molnar <mingo@kernel.org>
|
|
(cherry picked from commit 15670bfe19905b1dcbb63137f40d718b59d84479)
|
|
Signed-off-by: Andy Whitcroft <apw@canonical.com>
|
|
Signed-off-by: Kleber Sacilotto de Souza <kleber.souza@canonical.com>
|
|
(cherry picked from commit d73ad1d31ef8a44c6e5977c5123cbaa6d02e2035)
|
|
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
|
|
---
|
|
include/linux/mm.h | 2 +-
|
|
arch/x86/mm/init_64.c | 10 +++++-----
|
|
2 files changed, 6 insertions(+), 6 deletions(-)
|
|
|
|
diff --git a/include/linux/mm.h b/include/linux/mm.h
|
|
index 07630442bbf2..97f6ca707010 100644
|
|
--- a/include/linux/mm.h
|
|
+++ b/include/linux/mm.h
|
|
@@ -2475,7 +2475,7 @@ void vmemmap_populate_print_last(void);
|
|
void vmemmap_free(unsigned long start, unsigned long end);
|
|
#endif
|
|
void register_page_bootmem_memmap(unsigned long section_nr, struct page *map,
|
|
- unsigned long size);
|
|
+ unsigned long nr_pages);
|
|
|
|
enum mf_flags {
|
|
MF_COUNT_INCREASED = 1 << 0,
|
|
diff --git a/arch/x86/mm/init_64.c b/arch/x86/mm/init_64.c
|
|
index 136422d7d539..902983c8ea8c 100644
|
|
--- a/arch/x86/mm/init_64.c
|
|
+++ b/arch/x86/mm/init_64.c
|
|
@@ -1418,16 +1418,16 @@ int __meminit vmemmap_populate(unsigned long start, unsigned long end, int node)
|
|
|
|
#if defined(CONFIG_MEMORY_HOTPLUG_SPARSE) && defined(CONFIG_HAVE_BOOTMEM_INFO_NODE)
|
|
void register_page_bootmem_memmap(unsigned long section_nr,
|
|
- struct page *start_page, unsigned long size)
|
|
+ struct page *start_page, unsigned long nr_pages)
|
|
{
|
|
unsigned long addr = (unsigned long)start_page;
|
|
- unsigned long end = (unsigned long)(start_page + size);
|
|
+ unsigned long end = (unsigned long)(start_page + nr_pages);
|
|
unsigned long next;
|
|
pgd_t *pgd;
|
|
p4d_t *p4d;
|
|
pud_t *pud;
|
|
pmd_t *pmd;
|
|
- unsigned int nr_pages;
|
|
+ unsigned int nr_pmd_pages;
|
|
struct page *page;
|
|
|
|
for (; addr < end; addr = next) {
|
|
@@ -1474,9 +1474,9 @@ void register_page_bootmem_memmap(unsigned long section_nr,
|
|
if (pmd_none(*pmd))
|
|
continue;
|
|
|
|
- nr_pages = 1 << (get_order(PMD_SIZE));
|
|
+ nr_pmd_pages = 1 << get_order(PMD_SIZE);
|
|
page = pmd_page(*pmd);
|
|
- while (nr_pages--)
|
|
+ while (nr_pmd_pages--)
|
|
get_page_bootmem(section_nr, page++,
|
|
SECTION_INFO);
|
|
}
|
|
--
|
|
2.14.2
|
|
|