summaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/fpu
diff options
context:
space:
mode:
authorIngo Molnar <mingo@kernel.org>2015-05-25 11:27:46 +0200
committerIngo Molnar <mingo@kernel.org>2015-05-27 14:11:30 +0200
commit9ccc27a5d297503e485373b69688d038a1d8e662 (patch)
tree316780b039d30bdc3896bc5209a0755144456327 /arch/x86/kernel/fpu
parent3e1bf47e5c81c2b895db4bea67f70c3ca8e5b984 (diff)
downloadop-kernel-dev-9ccc27a5d297503e485373b69688d038a1d8e662.zip
op-kernel-dev-9ccc27a5d297503e485373b69688d038a1d8e662.tar.gz
x86/fpu: Remove error return values from copy_kernel_to_*regs() functions
None of the copy_kernel_to_*regs() FPU register copying functions are supposed to fail, and all of them have debugging checks that enforce this. Remove their return values and simplify their call sites, which have redundant error checks and error handling code paths. Cc: Andy Lutomirski <luto@amacapital.net> Cc: Bobby Powers <bobbypowers@gmail.com> Cc: Borislav Petkov <bp@alien8.de> 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: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'arch/x86/kernel/fpu')
-rw-r--r--arch/x86/kernel/fpu/core.c18
1 files changed, 5 insertions, 13 deletions
diff --git a/arch/x86/kernel/fpu/core.c b/arch/x86/kernel/fpu/core.c
index e0e0ee5..8470df4 100644
--- a/arch/x86/kernel/fpu/core.c
+++ b/arch/x86/kernel/fpu/core.c
@@ -126,12 +126,10 @@ void __kernel_fpu_end(void)
{
struct fpu *fpu = &current->thread.fpu;
- if (fpu->fpregs_active) {
- if (WARN_ON_FPU(copy_kernel_to_fpregs(fpu)))
- fpu__clear(fpu);
- } else {
+ if (fpu->fpregs_active)
+ copy_kernel_to_fpregs(fpu);
+ else
__fpregs_deactivate_hw();
- }
kernel_fpu_enable();
}
@@ -370,14 +368,8 @@ void fpu__restore(struct fpu *fpu)
/* Avoid __kernel_fpu_begin() right after fpregs_activate() */
kernel_fpu_disable();
fpregs_activate(fpu);
- if (unlikely(copy_kernel_to_fpregs(fpu))) {
- /* Copying the kernel state to FPU registers should never fail: */
- WARN_ON_FPU(1);
- fpu__clear(fpu);
- force_sig_info(SIGSEGV, SEND_SIG_PRIV, current);
- } else {
- fpu->counter++;
- }
+ copy_kernel_to_fpregs(fpu);
+ fpu->counter++;
kernel_fpu_enable();
}
EXPORT_SYMBOL_GPL(fpu__restore);
OpenPOWER on IntegriCloud