提交 2e8a3102 编写于 作者: I Ingo Molnar

x86/fpu: Rename fpu__flush_thread() to fpu__clear()

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: NBorislav 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: NIngo Molnar <mingo@kernel.org>
上级 cc08d545
...@@ -20,7 +20,7 @@ struct user_i387_struct; ...@@ -20,7 +20,7 @@ struct user_i387_struct;
extern int fpstate_alloc_init(struct fpu *fpu); extern int fpstate_alloc_init(struct fpu *fpu);
extern void fpstate_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 int dump_fpu(struct pt_regs *, struct user_i387_struct *);
extern void fpu__restore(void); extern void fpu__restore(void);
......
...@@ -381,11 +381,11 @@ void fpu__restore(void) ...@@ -381,11 +381,11 @@ void fpu__restore(void)
} }
EXPORT_SYMBOL_GPL(fpu__restore); 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; struct fpu *fpu = &tsk->thread.fpu;
WARN_ON(tsk != current); WARN_ON_ONCE(tsk != current); /* Almost certainly an anomaly */
if (!use_eager_fpu()) { if (!use_eager_fpu()) {
/* FPU state will be reallocated lazily at the first use. */ /* FPU state will be reallocated lazily at the first use. */
......
...@@ -130,7 +130,7 @@ void flush_thread(void) ...@@ -130,7 +130,7 @@ void flush_thread(void)
flush_ptrace_hw_breakpoint(tsk); flush_ptrace_hw_breakpoint(tsk);
memset(tsk->thread.tls_array, 0, sizeof(tsk->thread.tls_array)); memset(tsk->thread.tls_array, 0, sizeof(tsk->thread.tls_array));
fpu__flush_thread(tsk); fpu__clear(tsk);
} }
static void hard_disable_TSC(void) static void hard_disable_TSC(void)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册