]> git.baikalelectronics.ru Git - kernel.git/commit
x86: tls prevent_tail_call
authorRoland McGrath <roland@redhat.com>
Tue, 26 Feb 2008 21:00:18 +0000 (13:00 -0800)
committerIngo Molnar <mingo@elte.hu>
Fri, 29 Feb 2008 17:55:39 +0000 (18:55 +0100)
commitb26bd9e4f0d105fabd8e6fb4493cb00071a9101b
tree82775510cc3975ef28e800b6d0ea4032cbf86b79
parent2269cae354210c6fd8238c51d7f97ab563e09eda
x86: tls prevent_tail_call

Fix a kernel bug (vmware boot problem) reported by Tomasz Grobelny,
which occurs with certain .config variants and gccs.

The x86 TLS cleanup in commit 301ff1ec9c52f012e238af86b61b614845755ca0
made the sys_set_thread_area and sys_get_thread_area functions ripe for
tail call optimization.  If the compiler chooses to use it for them, it
can clobber the user trap frame because these are asmlinkage functions.

Reported-by: Tomasz Grobelny <tomasz@grobelny.oswiecenia.net>
Signed-off-by: Roland McGrath <roland@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/kernel/tls.c