x86/mm: Initialize pmd_idx in page_table_range_init_count()
authorMinfei Huang <mnfhuang@gmail.com>
Sun, 12 Jul 2015 12:18:42 +0000 (20:18 +0800)
committerThomas Gleixner <tglx@linutronix.de>
Mon, 20 Jul 2015 21:14:47 +0000 (23:14 +0200)
The variable pmd_idx is not initialized for the first iteration of the
for loop.

Assign the proper value which indexes the start address.

Fixes: 719272c45b82 'x86, mm: only call early_ioremap_page_table_range_init() once'
Signed-off-by: Minfei Huang <mnfhuang@gmail.com>
Cc: tony.luck@intel.com
Cc: wangnan0@huawei.com
Cc: david.vrabel@citrix.com
Reviewed-by: yinghai@kernel.org
Link: http://lkml.kernel.org/r/1436703522-29552-1-git-send-email-mhuang@redhat.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
arch/x86/mm/init_32.c

index c8140e12816a51f77702b273289222071ecb2350..c23ab1ee3a9a9d15e4c043d27452ecf99deee9b4 100644 (file)
@@ -137,6 +137,7 @@ page_table_range_init_count(unsigned long start, unsigned long end)
 
        vaddr = start;
        pgd_idx = pgd_index(vaddr);
+       pmd_idx = pmd_index(vaddr);
 
        for ( ; (pgd_idx < PTRS_PER_PGD) && (vaddr != end); pgd_idx++) {
                for (; (pmd_idx < PTRS_PER_PMD) && (vaddr != end);