]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
x86, fpu: __restore_xstate_sig()->math_state_restore() needs preempt_disable()
authorOleg Nesterov <oleg@redhat.com>
Tue, 2 Sep 2014 17:57:17 +0000 (19:57 +0200)
committerJiri Slaby <jslaby@suse.cz>
Thu, 13 Nov 2014 18:02:12 +0000 (19:02 +0100)
commit03f43efc6a00eb29015222f8e9caeafdd9986a63
treedcf13d620b4d3244a61f74d12ba14f1bb7a5d0fb
parent19ad5dfd81d7bebf89a9a5c49ab0bc2bc6187ae7
x86, fpu: __restore_xstate_sig()->math_state_restore() needs preempt_disable()

commit df24fb859a4e200d9324e2974229fbb7adf00aef upstream.

Add preempt_disable() + preempt_enable() around math_state_restore() in
__restore_xstate_sig(). Otherwise __switch_to() after __thread_fpu_begin()
can overwrite fpu->state we are going to restore.

Signed-off-by: Oleg Nesterov <oleg@redhat.com>
Link: http://lkml.kernel.org/r/20140902175717.GA21649@redhat.com
Reviewed-by: Suresh Siddha <sbsiddha@gmail.com>
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
arch/x86/kernel/xsave.c