aboutsummaryrefslogtreecommitdiffstats
path: root/arch/i386/kernel/cpu/common.c
diff options
context:
space:
mode:
authorZachary Amsden <zach@vmware.com>2005-10-30 14:59:33 -0800
committerLinus Torvalds <torvalds@g5.osdl.org>2005-10-30 17:37:12 -0800
commit72e12b76fe48d99d1deb417f177b10a9d99b2e74 (patch)
tree55bd8ff5d3d641de012fbc26f5cc1c5a40e6d920 /arch/i386/kernel/cpu/common.c
parent9f40a72a7e819789f66910c8cd60aab005cdb413 (diff)
downloadkernel_samsung_tuna-72e12b76fe48d99d1deb417f177b10a9d99b2e74.zip
kernel_samsung_tuna-72e12b76fe48d99d1deb417f177b10a9d99b2e74.tar.gz
kernel_samsung_tuna-72e12b76fe48d99d1deb417f177b10a9d99b2e74.tar.bz2
[PATCH] x86: bogus tls from gdt
The per-CPU initialization code is copying in bogus data into thread->tls_array. Note that it copies &per_cpu(cpu_gdt_table, cpu), not &per_cpu(cpu_gdt_table, cpu)[GDT_ENTRY_TLS_MIN). That is totally broken and unnecessary. Make the initialization explicitly NULL. Signed-off-by: Zachary Amsden <zach@vmware.com> Acked-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/i386/kernel/cpu/common.c')
-rw-r--r--arch/i386/kernel/cpu/common.c6
1 files changed, 0 insertions, 6 deletions
diff --git a/arch/i386/kernel/cpu/common.c b/arch/i386/kernel/cpu/common.c
index 9ad43be..a162c03 100644
--- a/arch/i386/kernel/cpu/common.c
+++ b/arch/i386/kernel/cpu/common.c
@@ -607,12 +607,6 @@ void __devinit cpu_init(void)
cpu_gdt_descr[cpu].address =
(unsigned long)&per_cpu(cpu_gdt_table, cpu);
- /*
- * Set up the per-thread TLS descriptor cache:
- */
- memcpy(thread->tls_array, &per_cpu(cpu_gdt_table, cpu),
- GDT_ENTRY_TLS_ENTRIES * 8);
-
load_gdt(&cpu_gdt_descr[cpu]);
load_idt(&idt_descr);