ARM: uaccess: fix undefined instruction on ARMv7M/noMMU
authorRussell King <rmk+kernel@arm.linux.org.uk>
Wed, 9 Sep 2015 20:19:49 +0000 (21:19 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Wed, 9 Sep 2015 22:26:44 +0000 (23:26 +0100)
commitaf4cb25df93d2e7a97d65db2bfacaa4400988dea
treea19e89d89937303b0196351636d81df712c9a456
parent296254f3223d201f2aa53f5f717eedfdc63f3db8
ARM: uaccess: fix undefined instruction on ARMv7M/noMMU

The use of get_domain() in copy_thread() results in an oops on
ARMv7M/noMMU systems.  The thread cpu_domain value is only used when
CONFIG_CPU_USE_DOMAINS is enabled, so there's no need to save the
value in copy_thread() except when this is enabled, and this option
will never be enabled on these platforms.

Unhandled exception: IPSR = 00000006 LR = fffffff1
CPU: 0 PID: 0 Comm: swapper Not tainted 4.2.0-next-20150909-00001-gb8ec5ad #41
Hardware name: NXP LPC18xx/43xx (Device Tree)
task: 2823fbe0 ti: 2823c000 task.ti: 2823c000
PC is at copy_thread+0x18/0x92
LR is at copy_thread+0x19/0x92
pc : [<2800a46e>]    lr : [<2800a46f>]    psr: 4100000b
sp : 2823df00  ip : 00000000  fp : 287c81c0
r10: 00000000  r9 : 00800300  r8 : 287c8000
r7 : 287c8000  r6 : 2818908d  r5 : 00000000  r4 : 287ca000
r3 : 00000000  r2 : 00000000  r1 : fffffff0  r0 : 287ca048
xPSR: 4100000b

Reported-by: Ariel D'Alessandro <ariel@vanguardiasur.com.ar>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/kernel/process.c