aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOleg Nesterov <[email protected]>2015-02-06 15:01:58 -0500
committerBorislav Petkov <[email protected]>2015-02-19 11:12:40 +0100
commita9241ea5fd709fc935dade130f4e3b2612bbe9e3 (patch)
tree73b7221bea33cb1caed9c79fb30018aec5274ed4
parentbfa76d49576599a4b9f9b7a71f23d73d6dcff735 (diff)
x86/fpu: Don't reset thread.fpu_counter
The "else" branch clears ->fpu_counter as a remnant of the lazy FPU usage counting: e07e23e1fd30 ("[PATCH] non lazy "sleazy" fpu implementation") However, switch_fpu_prepare() does this now so that else branch is superfluous. If we do use_eager_fpu(), then this has no effect. Otherwise, if we actually wanted to prevent fpu preload after the context switch we would need to reset it unconditionally, even if __thread_has_fpu(). Signed-off-by: Oleg Nesterov <[email protected]> Signed-off-by: Rik van Riel <[email protected]> Cc: Linus Torvalds <[email protected]> Link: http://lkml.kernel.org/r/[email protected] Signed-off-by: Borislav Petkov <[email protected]>
-rw-r--r--arch/x86/kernel/i387.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/arch/x86/kernel/i387.c b/arch/x86/kernel/i387.c
index a9a4229f6161..4d0db9ed58e0 100644
--- a/arch/x86/kernel/i387.c
+++ b/arch/x86/kernel/i387.c
@@ -108,8 +108,7 @@ void unlazy_fpu(struct task_struct *tsk)
if (__thread_has_fpu(tsk)) {
__save_init_fpu(tsk);
__thread_fpu_end(tsk);
- } else
- tsk->thread.fpu_counter = 0;
+ }
preempt_enable();
}
EXPORT_SYMBOL(unlazy_fpu);