From 92ad5249470010be28a3fb58228d2bff15e7c089 Mon Sep 17 00:00:00 2001 From: John Reiser Date: Thu, 31 Jan 2013 12:20:42 -0800 Subject: [PATCH] clear registers at user entry (paranoia) --- src/stub/src/arm-linux.elf-fold.S | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/stub/src/arm-linux.elf-fold.S b/src/stub/src/arm-linux.elf-fold.S index 922850ec..2d7480e4 100644 --- a/src/stub/src/arm-linux.elf-fold.S +++ b/src/stub/src/arm-linux.elf-fold.S @@ -98,12 +98,25 @@ SP_argc= 5*4 ldmia sp!,{r0,r1,r2,r3,r4} @ ADRU,LENU,1+ &Elf32_auxv_t[AT_NULL@.a_type],crumb,MFLG add r0,r0,r3 @ ADRU+=crumb sub r1,r1,r3 @ LENU-=crumb + + mov r3,#0 @ clear registers: paranoia + mov r4,#0 + mov r5,#0 + mov r6,#0 + + mov r8,#0 + mov r9,#0 + mov r10,#0 + mov r11,#0 #if defined(ARMEL_DARWIN) /*{*/ + mov r7,#0 mov r12,#0xff & __NR_munmap #elif defined(ARMEL_EABI4) /*}{*/ + mov r12,#0 mov r7, #0xff & __NR_munmap #elif defined(ARM_OLDABI) /*{*/ - @ empty + mov r7,#0 + mov r12,#0 #endif /*}*/ ldr pc,[r2,#4 -2*4] @ Elf32_auxv_t[AT_NULL@.a_type].a_val