diff options
-rw-r--r-- | arch/x86/machine/pmap.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/x86/machine/pmap.c b/arch/x86/machine/pmap.c index 0448d07d..6d424966 100644 --- a/arch/x86/machine/pmap.c +++ b/arch/x86/machine/pmap.c @@ -999,9 +999,10 @@ pmap_copy_cpu_table(unsigned int cpu) assert(cpu != 0); - cpu_table = pmap_get_kernel_pmap()->cpu_tables[cpu]; - level = PMAP_NR_LEVELS - 1; kernel_pmap = pmap_get_kernel_pmap(); + assert(cpu < ARRAY_SIZE(kernel_pmap->cpu_tables)); + cpu_table = kernel_pmap->cpu_tables[cpu]; + level = PMAP_NR_LEVELS - 1; sptp = pmap_ptp_from_pa(kernel_pmap->cpu_tables[cpu_id()]->root_ptp_pa); #ifdef CONFIG_X86_PAE |