summaryrefslogtreecommitdiffstats
path: root/arch/arm/lib
diff options
context:
space:
mode:
authorStephen Boyd <sboyd@codeaurora.org>2015-09-15 00:11:30 +0100
committerRussell King <rmk+kernel@arm.linux.org.uk>2015-10-03 16:36:45 +0100
commit6f56a68d0bed16c13e9ec958cd28acbc2991d495 (patch)
treebc754df52c9ca7f0d7bcf4aec51cbb475847931d /arch/arm/lib
parentb97b272e72ae07a04a664685c876439215bdeb74 (diff)
downloadlinux-6f56a68d0bed16c13e9ec958cd28acbc2991d495.tar.bz2
ARM: 8438/1: Add unwinding to __clear_user_std()
Add unwinding annotations so that unwinding from this function works properly. Signed-off-by: Stephen Boyd <sboyd@codeaurora.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/lib')
-rw-r--r--arch/arm/lib/clear_user.S4
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/arm/lib/clear_user.S b/arch/arm/lib/clear_user.S
index 970d6c043774..e936352ccb00 100644
--- a/arch/arm/lib/clear_user.S
+++ b/arch/arm/lib/clear_user.S
@@ -9,6 +9,7 @@
*/
#include <linux/linkage.h>
#include <asm/assembler.h>
+#include <asm/unwind.h>
.text
@@ -20,6 +21,8 @@
*/
ENTRY(__clear_user_std)
WEAK(arm_clear_user)
+UNWIND(.fnstart)
+UNWIND(.save {r1, lr})
stmfd sp!, {r1, lr}
mov r2, #0
cmp r1, #4
@@ -44,6 +47,7 @@ WEAK(arm_clear_user)
USER( strnebt r2, [r0])
mov r0, #0
ldmfd sp!, {r1, pc}
+UNWIND(.fnend)
ENDPROC(arm_clear_user)
ENDPROC(__clear_user_std)