diff options
Diffstat (limited to 'arch/x86/kernel/ldt.c')
-rw-r--r-- | arch/x86/kernel/ldt.c | 6 |
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 |