s390/signal: Add BEA to compat signal handler parameters
authorMichael Holzheu <holzheu@linux.vnet.ibm.com>
Mon, 15 Apr 2013 15:50:03 +0000 (17:50 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Wed, 17 Apr 2013 12:07:35 +0000 (14:07 +0200)
This patch adds the last breaking event address as parameter
for 31 bit compat program signal handlers as it is already
done for 64 bit programs.

Signed-off-by: Michael Holzheu <holzheu@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
arch/s390/kernel/compat_signal.c

index 6de049fbe62dced08c1deddb4330077d3d4158ae..c439ac9ced092a6a8c4ea710b3127c4bb6cb3014 100644 (file)
@@ -362,6 +362,7 @@ static int setup_frame32(int sig, struct k_sigaction *ka,
                /* set extra registers only for synchronous signals */
                regs->gprs[4] = regs->int_code & 127;
                regs->gprs[5] = regs->int_parm_long;
+               regs->gprs[6] = task_thread_info(current)->last_break;
        }
 
        /* Place signal number on stack to allow backtrace from handler.  */
@@ -421,6 +422,7 @@ static int setup_rt_frame32(int sig, struct k_sigaction *ka, siginfo_t *info,
        regs->gprs[2] = map_signal(sig);
        regs->gprs[3] = (__force __u64) &frame->info;
        regs->gprs[4] = (__force __u64) &frame->uc;
+       regs->gprs[5] = task_thread_info(current)->last_break;
        return 0;
 
 give_sigsegv: