• Andy Lutomirski's avatar
    x86/fpu: Fix FNSAVE usage in eagerfpu mode · 5ed73f40
    Andy Lutomirski authored
    In eager fpu mode, having deactivated FPU without immediately
    reloading some other context is illegal.  Therefore, to recover from
    FNSAVE, we can't just deactivate the state -- we need to reload it
    if we're not actively context switching.
    
    We had this wrong in fpu__save() and fpu__copy().  Fix both.
    __kernel_fpu_begin() was fine -- add a comment.
    
    This fixes a warning triggerable with nofxsr eagerfpu=on.
    Signed-off-by: default avatarAndy Lutomirski <luto@kernel.org>
    Cc: Andy Lutomirski <luto@amacapital.net>
    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: Peter Zijlstra <peterz@infradead.org>
    Cc: Quentin Casasnovas <quentin.casasnovas@oracle.com>
    Cc: Rik van Riel <riel@redhat.com>
    Cc: Sai Praneeth Prakhya <sai.praneeth.prakhya@intel.com>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: yu-cheng yu <yu-cheng.yu@intel.com>
    Link: http://lkml.kernel.org/r/60662444e13c76f06e23c15c5dcdba31b4ac3d67.1453675014.git.luto@kernel.orgSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
    5ed73f40
core.c 12.4 KB