sh: Use boot_cpu_data for FPU tests in sigcontext paths.
We do not want to use smp_processor_id() from these paths, as they trip preempt BUGs. Switch the test over to the boot cpu directly. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
This commit is contained in:
Родитель
9922262242
Коммит
eaa47704d9
|
@ -145,7 +145,7 @@ static inline int restore_sigcontext_fpu(struct sigcontext __user *sc)
|
||||||
{
|
{
|
||||||
struct task_struct *tsk = current;
|
struct task_struct *tsk = current;
|
||||||
|
|
||||||
if (!(current_cpu_data.flags & CPU_HAS_FPU))
|
if (!(boot_cpu_data.flags & CPU_HAS_FPU))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
set_used_math();
|
set_used_math();
|
||||||
|
@ -158,7 +158,7 @@ static inline int save_sigcontext_fpu(struct sigcontext __user *sc,
|
||||||
{
|
{
|
||||||
struct task_struct *tsk = current;
|
struct task_struct *tsk = current;
|
||||||
|
|
||||||
if (!(current_cpu_data.flags & CPU_HAS_FPU))
|
if (!(boot_cpu_data.flags & CPU_HAS_FPU))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if (!used_math()) {
|
if (!used_math()) {
|
||||||
|
@ -199,7 +199,7 @@ restore_sigcontext(struct pt_regs *regs, struct sigcontext __user *sc, int *r0_p
|
||||||
#undef COPY
|
#undef COPY
|
||||||
|
|
||||||
#ifdef CONFIG_SH_FPU
|
#ifdef CONFIG_SH_FPU
|
||||||
if (current_cpu_data.flags & CPU_HAS_FPU) {
|
if (boot_cpu_data.flags & CPU_HAS_FPU) {
|
||||||
int owned_fp;
|
int owned_fp;
|
||||||
struct task_struct *tsk = current;
|
struct task_struct *tsk = current;
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче