aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/alternative.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/kernel/alternative.c')
-rw-r--r--arch/x86/kernel/alternative.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/arch/x86/kernel/alternative.c b/arch/x86/kernel/alternative.c
index 11b03d3c6fda..dff1c9e1c2ee 100644
--- a/arch/x86/kernel/alternative.c
+++ b/arch/x86/kernel/alternative.c
@@ -415,9 +415,6 @@ void __init alternative_instructions(void)
415 alternatives_smp_unlock(__smp_locks, __smp_locks_end, 415 alternatives_smp_unlock(__smp_locks, __smp_locks_end,
416 _text, _etext); 416 _text, _etext);
417 } 417 }
418 free_init_pages("SMP alternatives",
419 (unsigned long)__smp_locks,
420 (unsigned long)__smp_locks_end);
421 } else { 418 } else {
422 alternatives_smp_module_add(NULL, "core kernel", 419 alternatives_smp_module_add(NULL, "core kernel",
423 __smp_locks, __smp_locks_end, 420 __smp_locks, __smp_locks_end,
@@ -428,6 +425,11 @@ void __init alternative_instructions(void)
428 apply_paravirt(__parainstructions, __parainstructions_end); 425 apply_paravirt(__parainstructions, __parainstructions_end);
429 local_irq_restore(flags); 426 local_irq_restore(flags);
430 427
428 if (smp_alt_once)
429 free_init_pages("SMP alternatives",
430 (unsigned long)__smp_locks,
431 (unsigned long)__smp_locks_end);
432
431 restart_nmi(); 433 restart_nmi();
432#ifdef CONFIG_X86_MCE 434#ifdef CONFIG_X86_MCE
433 restart_mce(); 435 restart_mce();