x86/fpu: Add debugging check to fpu__restore()
authorIngo Molnar <mingo@kernel.org>
Mon, 25 May 2015 08:57:06 +0000 (10:57 +0200)
committerIngo Molnar <mingo@kernel.org>
Wed, 27 May 2015 12:11:27 +0000 (14:11 +0200)
The copy_fpstate_to_fpregs() function is never supposed to fail,
so add a debugging check to its call site in fpu__restore().

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>
arch/x86/kernel/fpu/core.c

index 86a9a9a086fad3704291148c7c458dd795fb2ae1..874ef17017507884cd5cba4ccca83269f5776f33 100644 (file)
@@ -371,6 +371,8 @@ void fpu__restore(struct fpu *fpu)
        kernel_fpu_disable();
        fpregs_activate(fpu);
        if (unlikely(copy_fpstate_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 {