summaryrefslogtreecommitdiffstats
path: root/arch/mips/kernel/process.c
diff options
context:
space:
mode:
authorChris Dearman <chris@mips.com>2007-12-13 23:42:19 +0100
committerRalf Baechle <ralf@linux-mips.org>2007-12-14 18:34:30 +0100
commitbbaf238b5f910f8f3dda4b96cf844f50b2dcc6fa (patch)
tree5fe8f78dcc4ac82f468e4976f28e798b9052f6e1 /arch/mips/kernel/process.c
parent[MIPS] time: Delete weak definition of plat_time_init() due to gcc bug. (diff)
downloadlinux-bbaf238b5f910f8f3dda4b96cf844f50b2dcc6fa.tar.xz
linux-bbaf238b5f910f8f3dda4b96cf844f50b2dcc6fa.zip
[MIPS] Ensure that ST0_FR is never set on a 32 bit kernel
Signed-off-by: Chris Dearman <chris@mips.com> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/kernel/process.c')
-rw-r--r--arch/mips/kernel/process.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/arch/mips/kernel/process.c b/arch/mips/kernel/process.c
index 11cb264f59ce..2c09a442e5e5 100644
--- a/arch/mips/kernel/process.c
+++ b/arch/mips/kernel/process.c
@@ -77,9 +77,8 @@ void start_thread(struct pt_regs * regs, unsigned long pc, unsigned long sp)
unsigned long status;
/* New thread loses kernel privileges. */
- status = regs->cp0_status & ~(ST0_CU0|ST0_CU1|KU_MASK);
+ status = regs->cp0_status & ~(ST0_CU0|ST0_CU1|ST0_FR|KU_MASK);
#ifdef CONFIG_64BIT
- status &= ~ST0_FR;
status |= test_thread_flag(TIF_32BIT_REGS) ? 0 : ST0_FR;
#endif
status |= KU_USER;