linux/arch/um/sys-x86_64
Ingo van Lil fbfe9c847e um: Save FPU registers between task switches
Some time ago Jeff prepared 42daba3165 ("uml: stop saving process FP
state") for UML to stop saving the process FP state between task
switches.  The assumption was that since with SKAS0 every guest process
runs inside a host process context the host OS will take care of keeping
the proper FP state.

Unfortunately this is not true for multi-threaded applications, where
all guest threads share a single host process context yet all may use
the FPU on their own.  Although I haven't verified it I suspect things
to be even worse in SKAS3 mode where all guest processes run inside a
single host process.

The patch reintroduces the saving and restoring of the FP context
between task switches.

[richard@nod.at: Ingo posted this patch in 2009, sadly it was never applied
and got lost. Now in 2011 the problem was reported by Gunnar.]

Signed-off-by: Ingo van Lil <inguin@gmx.de>
Signed-off-by: Richard Weinberger <richard@nod.at>
Reported-by: <gunnarlindroth@hotmail.com>
Tested-by: <gunnarlindroth@hotmail.com>
Cc: Stanislav Meduna <stano@meduna.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2011-09-14 18:09:37 -07:00
..
asm um: set __HAVE_ARCH_GATE_AREA for x86_64 2011-07-25 20:57:13 -07:00
shared/sysdep um: Save FPU registers between task switches 2011-09-14 18:09:37 -07:00
vdso um: implement a x86_64 vDSO 2011-07-25 20:57:13 -07:00
bug.c uml: style fixes in arch/um/sys-x86_64 2008-02-05 09:44:31 -08:00
bugs.c uml: further bugs.c tidying 2008-02-05 09:44:25 -08:00
delay.c um: clean up delay functions 2011-07-25 20:57:12 -07:00
fault.c
ksyms.c uml: memcpy export needs to follow host declaration 2008-06-06 11:29:10 -07:00
Makefile um: implement a x86_64 vDSO 2011-07-25 20:57:13 -07:00
mem.c um: set __HAVE_ARCH_GATE_AREA for x86_64 2011-07-25 20:57:13 -07:00
ptrace_user.c uml: style fixes in arch/um/sys-x86_64 2008-02-05 09:44:31 -08:00
ptrace.c ptrace: cleanup arch_ptrace() on um 2010-10-27 18:03:12 -07:00
setjmp.S
signal.c UML: add kernel.h include to signal.c 2010-04-20 17:47:24 +02:00
stub_segv.c uml: simplify SIGSEGV handling 2008-02-05 09:44:28 -08:00
stub.S uml: fix a section warning 2009-06-16 19:47:47 -07:00
syscall_table.c improve sys_newuname() for compat architectures 2010-03-12 15:52:32 -08:00
syscalls.c improve sys_newuname() for compat architectures 2010-03-12 15:52:32 -08:00
sysrq.c uml: style fixes in arch/um/sys-x86_64 2008-02-05 09:44:31 -08:00
tls.c
user-offsets.c uml: tidy ptrace interface 2008-05-13 08:02:21 -07:00