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>
This commit is contained in:
Russell King 2016-08-03 10:33:35 +01:00
parent 61444cde91
commit 87eed3c74d

View File

@ -295,6 +295,7 @@ __und_svc_fault:
bl __und_fault bl __und_fault
__und_svc_finish: __und_svc_finish:
get_thread_info tsk
ldr r5, [sp, #S_PSR] @ Get SVC cpsr ldr r5, [sp, #S_PSR] @ Get SVC cpsr
svc_exit r5 @ return from exception svc_exit r5 @ return from exception
UNWIND(.fnend ) UNWIND(.fnend )