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 4895e0634d22..6e388412a854 100644
--- a/arch/x86/kernel/ldt.c
+++ b/arch/x86/kernel/ldt.c
@@ -64,12 +64,10 @@ static int alloc_ldt(mm_context_t *pc, int mincount, int reload)
64 64
65 if (reload) { 65 if (reload) {
66#ifdef CONFIG_SMP 66#ifdef CONFIG_SMP
67 cpumask_of_cpu_ptr_declare(mask);
68
69 preempt_disable(); 67 preempt_disable();
70 load_LDT(pc); 68 load_LDT(pc);
71 cpumask_of_cpu_ptr_next(mask, smp_processor_id()); 69 if (!cpus_equal(current->mm->cpu_vm_mask,
72 if (!cpus_equal(current->mm->cpu_vm_mask, *mask)) 70 cpumask_of_cpu(smp_processor_id())))
73 smp_call_function(flush_ldt, current->mm, 1); 71 smp_call_function(flush_ldt, current->mm, 1);
74 preempt_enable(); 72 preempt_enable();
75#else 73#else