microblaze: Clear return value in pt_regs
authorMichal Simek <monstr@monstr.eu>
Fri, 6 Aug 2010 08:42:30 +0000 (10:42 +0200)
committerMichal Simek <monstr@monstr.eu>
Thu, 21 Oct 2010 05:51:29 +0000 (15:51 +1000)
Signal code uses r3 value which saved in restore_sigcontext to
rt_sigframe but it require to be zeroed. If is not zero rt_sigframe
contains wrong values.

Signed-off-by: Michal Simek <monstr@monstr.eu>
arch/microblaze/kernel/entry.S

index ab4f1e1..8539c6c 100644 (file)
@@ -295,6 +295,8 @@ C_ENTRY(_user_exception):
        /* addik        r1, r1, -STATE_SAVE_SIZE; */
        addik r1, r1, THREAD_SIZE + CONFIG_KERNEL_BASE_ADDR - CONFIG_KERNEL_START - STATE_SAVE_SIZE;
        SAVE_REGS
+       swi     r0, r1, PTO + PT_R3
+       swi     r0, r1, PTO + PT_R4
 
        lwi     r11, r0, TOPHYS(PER_CPU(ENTRY_SP));
        swi     r11, r1, PTO+PT_R1;             /* Store user SP.  */