Commit 72e12b76 authored by Zachary Amsden's avatar Zachary Amsden Committed by Linus Torvalds

[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: default avatarZachary Amsden <zach@vmware.com>
Acked-by: default avatarIngo Molnar <mingo@elte.hu>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 9f40a72a
...@@ -607,12 +607,6 @@ void __devinit cpu_init(void) ...@@ -607,12 +607,6 @@ void __devinit cpu_init(void)
cpu_gdt_descr[cpu].address = cpu_gdt_descr[cpu].address =
(unsigned long)&per_cpu(cpu_gdt_table, cpu); (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_gdt(&cpu_gdt_descr[cpu]);
load_idt(&idt_descr); load_idt(&idt_descr);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment