diff options
author | Zachary Amsden <zach@vmware.com> | 2005-10-30 14:59:33 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-10-30 17:37:12 -0800 |
commit | 72e12b76fe48d99d1deb417f177b10a9d99b2e74 (patch) | |
tree | 55bd8ff5d3d641de012fbc26f5cc1c5a40e6d920 /arch/i386/kernel/cpu/common.c | |
parent | 9f40a72a7e819789f66910c8cd60aab005cdb413 (diff) | |
download | kernel_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.c | 6 |
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); |