x86/fpu: Rename fpu__flush_thread() to fpu__clear()
authorIngo Molnar <mingo@kernel.org>
Fri, 24 Apr 2015 00:28:23 +0000 (02:28 +0200)
committerIngo Molnar <mingo@kernel.org>
Tue, 19 May 2015 13:47:29 +0000 (15:47 +0200)
The primary purpose of this function is to clear the current task's
FPU before an exec(), to not leak information from the previous task,
and to allow the new task to start with freshly initialized FPU
registers.

Rename the function to reflect this primary purpose.

Reviewed-by: Borislav Petkov <bp@alien8.de>
Cc: Andy Lutomirski <luto@amacapital.net>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: Fenghua Yu <fenghua.yu@intel.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Oleg Nesterov <oleg@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
arch/x86/include/asm/i387.h
arch/x86/kernel/fpu/core.c
arch/x86/kernel/process.c

index 38376cdf297c58a1580d3f1b13cca15550d33ec5..b8f7d76ac0662444e485bd4ed46a13f125fb1935 100644 (file)
@@ -20,7 +20,7 @@ struct user_i387_struct;
 
 extern int fpstate_alloc_init(struct fpu *fpu);
 extern void fpstate_init(struct fpu *fpu);
-extern void fpu__flush_thread(struct task_struct *tsk);
+extern void fpu__clear(struct task_struct *tsk);
 
 extern int dump_fpu(struct pt_regs *, struct user_i387_struct *);
 extern void fpu__restore(void);
index e3e8585284add4a1f5042f45dea59c9d1d59e2f5..c15d064ce43e2ead0fdf665bdcc575e008a48bb4 100644 (file)
@@ -381,11 +381,11 @@ void fpu__restore(void)
 }
 EXPORT_SYMBOL_GPL(fpu__restore);
 
-void fpu__flush_thread(struct task_struct *tsk)
+void fpu__clear(struct task_struct *tsk)
 {
        struct fpu *fpu = &tsk->thread.fpu;
 
-       WARN_ON(tsk != current);
+       WARN_ON_ONCE(tsk != current); /* Almost certainly an anomaly */
 
        if (!use_eager_fpu()) {
                /* FPU state will be reallocated lazily at the first use. */
index e97266b18ad33c9eb962733f6b80eb5a38c72720..51ad3422e728c0dbe7597cd0f5a2a3d24d47c69a 100644 (file)
@@ -130,7 +130,7 @@ void flush_thread(void)
        flush_ptrace_hw_breakpoint(tsk);
        memset(tsk->thread.tls_array, 0, sizeof(tsk->thread.tls_array));
 
-       fpu__flush_thread(tsk);
+       fpu__clear(tsk);
 }
 
 static void hard_disable_TSC(void)