summaryrefslogtreecommitdiffstats
path: root/arch/ia64/kernel/ptrace.c
diff options
context:
space:
mode:
authorSteve French <sfrench@us.ibm.com>2005-06-13 13:25:38 -0500
committerSteve French <sfrench@us.ibm.com>2005-06-13 13:25:38 -0500
commit5893a65711164e42fea4a58bb8adf47c2fac8a4b (patch)
tree31b5f20e314aae236b06998de3fffeb729581af5 /arch/ia64/kernel/ptrace.c
parentd6e04ae64c6b06ef76a5d4fb49106b393b7fa50a (diff)
parentc0105338eb4e61e537ca34ae06921177cb6efcf0 (diff)
downloadkernel-crypto-5893a65711164e42fea4a58bb8adf47c2fac8a4b.tar.gz
kernel-crypto-5893a65711164e42fea4a58bb8adf47c2fac8a4b.tar.xz
kernel-crypto-5893a65711164e42fea4a58bb8adf47c2fac8a4b.zip
Merge with rsync://rsync.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6.git
Diffstat (limited to 'arch/ia64/kernel/ptrace.c')
-rw-r--r--arch/ia64/kernel/ptrace.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/ia64/kernel/ptrace.c b/arch/ia64/kernel/ptrace.c
index 08c8a5eb25a..575a8f657b3 100644
--- a/arch/ia64/kernel/ptrace.c
+++ b/arch/ia64/kernel/ptrace.c
@@ -635,11 +635,17 @@ ia64_flush_fph (struct task_struct *task)
{
struct ia64_psr *psr = ia64_psr(ia64_task_regs(task));
+ /*
+ * Prevent migrating this task while
+ * we're fiddling with the FPU state
+ */
+ preempt_disable();
if (ia64_is_local_fpu_owner(task) && psr->mfh) {
psr->mfh = 0;
task->thread.flags |= IA64_THREAD_FPH_VALID;
ia64_save_fpu(&task->thread.fph[0]);
}
+ preempt_enable();
}
/*