Browse Source

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>
Russell King 9 years ago
parent
commit
87eed3c74d
1 changed files with 1 additions and 0 deletions
  1. 1 0
      arch/arm/kernel/entry-armv.S

+ 1 - 0
arch/arm/kernel/entry-armv.S

@@ -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		)