mirror of
https://github.com/followmsi/android_kernel_google_msm.git
synced 2024-11-06 23:17:41 +00:00
[IA64] restore_sigcontext is not preempt safe
restore_sigcontext calls ia64_set_local_fpu_owner() which requires that preempt be disabled. Signed-off-by: Keith Owens <kaos@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
This commit is contained in:
parent
7fe4c1b168
commit
2ba3e3e65c
1 changed files with 2 additions and 0 deletions
|
@ -143,6 +143,7 @@ restore_sigcontext (struct sigcontext __user *sc, struct sigscratch *scr)
|
|||
|
||||
__copy_from_user(current->thread.fph, &sc->sc_fr[32], 96*16);
|
||||
psr->mfh = 0; /* drop signal handler's fph contents... */
|
||||
preempt_disable();
|
||||
if (psr->dfh)
|
||||
ia64_drop_fpu(current);
|
||||
else {
|
||||
|
@ -150,6 +151,7 @@ restore_sigcontext (struct sigcontext __user *sc, struct sigscratch *scr)
|
|||
__ia64_load_fpu(current->thread.fph);
|
||||
ia64_set_local_fpu_owner(current);
|
||||
}
|
||||
preempt_enable();
|
||||
}
|
||||
return err;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue