aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/ldt.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/kernel/ldt.c')
-rw-r--r--arch/x86/kernel/ldt.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/arch/x86/kernel/ldt.c b/arch/x86/kernel/ldt.c
index c49ff2dc8f83..0ed5f939b905 100644
--- a/arch/x86/kernel/ldt.c
+++ b/arch/x86/kernel/ldt.c
@@ -63,12 +63,10 @@ static int alloc_ldt(mm_context_t *pc, int mincount, int reload)
63 63
64 if (reload) { 64 if (reload) {
65#ifdef CONFIG_SMP 65#ifdef CONFIG_SMP
66 cpumask_t mask;
67
68 preempt_disable(); 66 preempt_disable();
69 load_LDT(pc); 67 load_LDT(pc);
70 mask = cpumask_of_cpu(smp_processor_id()); 68 if (!cpus_equal(current->mm->cpu_vm_mask,
71 if (!cpus_equal(current->mm->cpu_vm_mask, mask)) 69 cpumask_of_cpu(smp_processor_id())))
72 smp_call_function(flush_ldt, current->mm, 1); 70 smp_call_function(flush_ldt, current->mm, 1);
73 preempt_enable(); 71 preempt_enable();
74#else 72#else