int fpvalid;
err |= __get_user (fpvalid, &sc->sc_fpvalid);
- current->used_math = fpvalid;
+ conditional_used_math(fpvalid);
if (! fpvalid)
return err;
int err = 0;
int fpvalid;
- fpvalid = current->used_math;
+ fpvalid = !!used_math();
err |= __put_user(fpvalid, &sc->sc_fpvalid);
if (! fpvalid)
return err;
err |= __copy_to_user(&sc->sc_fpregs[0], ¤t->thread.fpu.hard,
(sizeof(long long) * 32) + (sizeof(int) * 1));
- current->used_math = 0;
+ clear_used_math();
return err;
}
if (!user_mode(regs))
return 1;
- if (current->flags & PF_FREEZE) {
- refrigerator(0);
+ if (try_to_freeze(0))
goto no_signal;
- }
if (!oldset)
oldset = ¤t->blocked;