From: Ingo Molnar Date: Thu, 23 Apr 2015 10:26:55 +0000 (+0200) Subject: x86/fpu: Remove 'struct task_struct' usage from __thread_fpu_end() X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=35191e3f073c442b201f8beb5315561271d2327a;p=GitHub%2FLineageOS%2Fandroid_kernel_motorola_exynos9610.git x86/fpu: Remove 'struct task_struct' usage from __thread_fpu_end() Migrate this function to pure 'struct fpu' usage. Reviewed-by: Borislav Petkov Cc: Andy Lutomirski Cc: Dave Hansen Cc: Fenghua Yu Cc: H. Peter Anvin Cc: Linus Torvalds Cc: Oleg Nesterov Cc: Peter Zijlstra Cc: Thomas Gleixner Signed-off-by: Ingo Molnar --- diff --git a/arch/x86/include/asm/fpu-internal.h b/arch/x86/include/asm/fpu-internal.h index cf0d4124fb3d..b1803a656651 100644 --- a/arch/x86/include/asm/fpu-internal.h +++ b/arch/x86/include/asm/fpu-internal.h @@ -344,9 +344,9 @@ static inline void __thread_set_has_fpu(struct fpu *fpu) * These generally need preemption protection to work, * do try to avoid using these on their own. */ -static inline void __thread_fpu_end(struct task_struct *tsk) +static inline void __thread_fpu_end(struct fpu *fpu) { - __thread_clear_has_fpu(&tsk->thread.fpu); + __thread_clear_has_fpu(fpu); if (!use_eager_fpu()) stts(); } @@ -372,7 +372,7 @@ static inline void drop_fpu(struct task_struct *tsk) asm volatile("1: fwait\n" "2:\n" _ASM_EXTABLE(1b, 2b)); - __thread_fpu_end(tsk); + __thread_fpu_end(fpu); } clear_stopped_child_used_math(tsk); diff --git a/arch/x86/kernel/fpu/core.c b/arch/x86/kernel/fpu/core.c index ac390c690944..4e1f8f1bf493 100644 --- a/arch/x86/kernel/fpu/core.c +++ b/arch/x86/kernel/fpu/core.c @@ -143,7 +143,7 @@ void fpu__save(struct task_struct *tsk) __save_fpu(tsk); } else { fpu_save_init(fpu); - __thread_fpu_end(tsk); + __thread_fpu_end(fpu); } } preempt_enable();