ARM: fix address limit restoration for undefined instructions
authorRussell King <rmk+kernel@armlinux.org.uk>
Wed, 3 Aug 2016 09:33:35 +0000 (10:33 +0100)
committerRussell King <rmk+kernel@armlinux.org.uk>
Tue, 9 Aug 2016 21:57:59 +0000 (22:57 +0100)
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>
arch/arm/kernel/entry-armv.S

index bc5f50799d75627fb3eb22b9afe6d849373e77d4..9f157e7c51e75cc468de327bd9c5403353885849 100644 (file)
@@ -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         )