summaryrefslogtreecommitdiffstats
path: root/arch/arm/kernel
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@armlinux.org.uk>2016-08-03 10:33:35 +0100
committerRussell King <rmk+kernel@armlinux.org.uk>2016-08-09 22:57:59 +0100
commit87eed3c74d7c65556f744230a90bf9556dd29146 (patch)
tree456862773627f7b0b35078dce07f82d07402a743 /arch/arm/kernel
parent61444cde9170e256c238a02c9a4861930db04f5f (diff)
downloadlinux-87eed3c74d7c65556f744230a90bf9556dd29146.tar.gz
linux-87eed3c74d7c65556f744230a90bf9556dd29146.tar.bz2
linux-87eed3c74d7c65556f744230a90bf9556dd29146.zip
ARM: fix address limit restoration for undefined instructions
During boot, sometimes the kernel will test to see if an instruction causes an undefined instruction exception. Unfortunately, the exit path for these exceptions did not restore the address limit, which causes the rootfs mount code to fail. Fix the missing address limit restoration. Tested-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Diffstat (limited to 'arch/arm/kernel')
-rw-r--r--arch/arm/kernel/entry-armv.S1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/arm/kernel/entry-armv.S b/arch/arm/kernel/entry-armv.S
index bc5f50799d75..9f157e7c51e7 100644
--- a/arch/arm/kernel/entry-armv.S
+++ b/arch/arm/kernel/entry-armv.S
@@ -295,6 +295,7 @@ __und_svc_fault:
bl __und_fault
__und_svc_finish:
+ get_thread_info tsk
ldr r5, [sp, #S_PSR] @ Get SVC cpsr
svc_exit r5 @ return from exception
UNWIND(.fnend )