diff options
author | Russell King <rmk+kernel@armlinux.org.uk> | 2016-08-03 10:33:35 +0100 |
---|---|---|
committer | Russell King <rmk+kernel@armlinux.org.uk> | 2016-08-09 22:57:59 +0100 |
commit | 87eed3c74d7c65556f744230a90bf9556dd29146 (patch) | |
tree | 456862773627f7b0b35078dce07f82d07402a743 /arch/arm/kernel | |
parent | 61444cde9170e256c238a02c9a4861930db04f5f (diff) | |
download | linux-stable-87eed3c74d7c65556f744230a90bf9556dd29146.tar.gz linux-stable-87eed3c74d7c65556f744230a90bf9556dd29146.tar.bz2 linux-stable-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.S | 1 |
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 ) |