From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
stable@vger.kernel.org, Paul Burton <paul.burton@imgtec.com>,
"Maciej W. Rozycki" <macro@imgtec.com>,
Aurelien Jarno <aurelien@aurel32.net>,
Adam Buchbinder <adam.buchbinder@gmail.com>,
James Hogan <james.hogan@imgtec.com>,
linux-mips@linux-mips.org, Ralf Baechle <ralf@linux-mips.org>
Subject: [PATCH 4.5 018/128] MIPS: Disable preemption during prctl(PR_SET_FP_MODE, ...)
Date: Sun, 5 Jun 2016 15:22:53 -0700 [thread overview]
Message-ID: <20160605222321.795537303@linuxfoundation.org> (raw)
In-Reply-To: <20160605222321.183131188@linuxfoundation.org>
4.5-stable review patch. If anyone has any objections, please let me know.
------------------
From: Paul Burton <paul.burton@imgtec.com>
commit bd239f1e1429e7781096bf3884bdb1b2b1bb4f28 upstream.
Whilst a PR_SET_FP_MODE prctl is performed there are decisions made
based upon whether the task is executing on the current CPU. This may
change if we're preempted, so disable preemption to avoid such changes
for the lifetime of the mode switch.
Signed-off-by: Paul Burton <paul.burton@imgtec.com>
Fixes: 9791554b45a2 ("MIPS,prctl: add PR_[GS]ET_FP_MODE prctl options for MIPS")
Reviewed-by: Maciej W. Rozycki <macro@imgtec.com>
Tested-by: Aurelien Jarno <aurelien@aurel32.net>
Cc: Adam Buchbinder <adam.buchbinder@gmail.com>
Cc: James Hogan <james.hogan@imgtec.com>
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/13144/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
arch/mips/kernel/process.c | 4 ++++
1 file changed, 4 insertions(+)
--- a/arch/mips/kernel/process.c
+++ b/arch/mips/kernel/process.c
@@ -601,6 +601,9 @@ int mips_set_process_fp_mode(struct task
if (!(value & PR_FP_MODE_FR) && cpu_has_fpu && cpu_has_mips_r6)
return -EOPNOTSUPP;
+ /* Proceed with the mode switch */
+ preempt_disable();
+
/* Save FP & vector context, then disable FPU & MSA */
if (task->signal == current->signal)
lose_fpu(1);
@@ -659,6 +662,7 @@ int mips_set_process_fp_mode(struct task
/* Allow threads to use FP again */
atomic_set(&task->mm->context.fp_mode_switching, 0);
+ preempt_enable();
return 0;
}
next prev parent reply other threads:[~2016-06-05 22:27 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20160605222321.183131188@linuxfoundation.org>
2016-06-05 22:22 ` [PATCH 4.5 001/128] MIPS64: R6: R2 emulation bugfix Greg Kroah-Hartman
2016-06-05 22:22 ` [PATCH 4.5 002/128] MIPS: math-emu: Fix jalr emulation when rd == $0 Greg Kroah-Hartman
2016-06-05 22:22 ` [PATCH 4.5 003/128] MIPS: MSA: Fix a link error on `_init_msa_upper with older GCC Greg Kroah-Hartman
2016-06-05 22:22 ` [PATCH 4.5 004/128] MIPS: Dont unwind to user mode with EVA Greg Kroah-Hartman
2016-06-05 22:22 ` [PATCH 4.5 005/128] MIPS: Avoid using unwind_stack() with usermode Greg Kroah-Hartman
2016-06-05 22:22 ` [PATCH 4.5 006/128] MIPS: Fix siginfo.h to use strict posix types Greg Kroah-Hartman
2016-06-05 22:22 ` [PATCH 4.5 007/128] MIPS: Fix uapi include in exported asm/siginfo.h Greg Kroah-Hartman
2016-06-05 22:22 ` [PATCH 4.5 008/128] MIPS: Fix watchpoint restoration Greg Kroah-Hartman
2016-06-05 22:22 ` [PATCH 4.5 009/128] MIPS: Handle highmem pages in __update_cache Greg Kroah-Hartman
2016-06-05 22:22 ` [PATCH 4.5 010/128] MIPS: Sync icache & dcache in set_pte_at Greg Kroah-Hartman
2016-06-05 22:22 ` [PATCH 4.5 011/128] MIPS: Loongson-3: Fix build error after ld-version.sh modification Greg Kroah-Hartman
2016-06-05 22:22 ` [PATCH 4.5 013/128] MIPS: Reserve nosave data for hibernation Greg Kroah-Hartman
2016-06-05 22:22 ` [PATCH 4.5 014/128] MIPS: Loongson-3: Reserve 32MB for RS780E integrated GPU Greg Kroah-Hartman
2016-06-05 22:22 ` [PATCH 4.5 015/128] MIPS: Use copy_s.fmt rather than copy_u.fmt Greg Kroah-Hartman
2016-06-05 22:22 ` [PATCH 4.5 016/128] MIPS: Fix MSA ld_*/st_* asm macros to use PTR_ADDU Greg Kroah-Hartman
2016-06-05 22:22 ` [PATCH 4.5 017/128] MIPS: Prevent "restoration" of MSA context in non-MSA kernels Greg Kroah-Hartman
2016-06-05 22:22 ` Greg Kroah-Hartman [this message]
2016-06-05 22:22 ` [PATCH 4.5 019/128] MIPS: ptrace: Fix FP context restoration FCSR regression Greg Kroah-Hartman
2016-06-05 22:22 ` [PATCH 4.5 020/128] MIPS: ptrace: Prevent writes to read-only FCSR bits Greg Kroah-Hartman
2016-06-05 22:22 ` [PATCH 4.5 021/128] MIPS: Fix sigreturn via VDSO on microMIPS kernel Greg Kroah-Hartman
2016-06-05 22:22 ` [PATCH 4.5 022/128] MIPS: Build microMIPS VDSO for microMIPS kernels Greg Kroah-Hartman
2016-06-05 22:22 ` [PATCH 4.5 023/128] MIPS: lib: Mark intrinsics notrace Greg Kroah-Hartman
2016-06-05 22:22 ` [PATCH 4.5 024/128] MIPS: VDSO: Build with `-fno-strict-aliasing Greg Kroah-Hartman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160605222321.795537303@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=adam.buchbinder@gmail.com \
--cc=aurelien@aurel32.net \
--cc=james.hogan@imgtec.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mips@linux-mips.org \
--cc=macro@imgtec.com \
--cc=paul.burton@imgtec.com \
--cc=ralf@linux-mips.org \
--cc=stable@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox