aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/smp_64.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/kernel/smp_64.c')
-rw-r--r--arch/x86/kernel/smp_64.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/x86/kernel/smp_64.c b/arch/x86/kernel/smp_64.c
index 02a6533e8909..2fd74b06db67 100644
--- a/arch/x86/kernel/smp_64.c
+++ b/arch/x86/kernel/smp_64.c
@@ -69,13 +69,14 @@ static DEFINE_PER_CPU(union smp_flush_state, flush_state);
69 * We cannot call mmdrop() because we are in interrupt context, 69 * We cannot call mmdrop() because we are in interrupt context,
70 * instead update mm->cpu_vm_mask. 70 * instead update mm->cpu_vm_mask.
71 */ 71 */
72static inline void leave_mm(int cpu) 72void leave_mm(int cpu)
73{ 73{
74 if (read_pda(mmu_state) == TLBSTATE_OK) 74 if (read_pda(mmu_state) == TLBSTATE_OK)
75 BUG(); 75 BUG();
76 cpu_clear(cpu, read_pda(active_mm)->cpu_vm_mask); 76 cpu_clear(cpu, read_pda(active_mm)->cpu_vm_mask);
77 load_cr3(swapper_pg_dir); 77 load_cr3(swapper_pg_dir);
78} 78}
79EXPORT_SYMBOL_GPL(leave_mm);
79 80
80/* 81/*
81 * 82 *