On Mon, Aug 25, 2014 at 11:08 AM, Oleg Nesterov <o...@redhat.com> wrote: > > Add preempt_disable() + preempt_enable() around math_state_restore() in > __restore_xstate_sig(). Otherwise __switch_to() after __thread_fpu_begin() > can overwrite fpu->state we are going to restore. > > Signed-off-by: Oleg Nesterov <o...@redhat.com> > Cc: sta...@vger.kernel.org > --- > arch/x86/kernel/xsave.c | 5 ++++- > 1 files changed, 4 insertions(+), 1 deletions(-) > > diff --git a/arch/x86/kernel/xsave.c b/arch/x86/kernel/xsave.c > index 453343c..c52eb9c 100644 > --- a/arch/x86/kernel/xsave.c > +++ b/arch/x86/kernel/xsave.c > @@ -397,8 +397,11 @@ int __restore_xstate_sig(void __user *buf, void __user > *buf_fx, int size) > set_used_math(); > } > > - if (use_eager_fpu()) > + if (use_eager_fpu()) { > + preempt_disable(); > math_state_restore(); > + preempt_enable(); > + } > > return err; > } else { >
oops. looks good to me. Reviewed-by: Suresh Siddha <sbsid...@gmail.com> -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/