diff options
Diffstat (limited to 'arch/sh/kernel/signal_32.c')
-rw-r--r-- | arch/sh/kernel/signal_32.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/arch/sh/kernel/signal_32.c b/arch/sh/kernel/signal_32.c index eee29257a8ae..4bbbde895a53 100644 --- a/arch/sh/kernel/signal_32.c +++ b/arch/sh/kernel/signal_32.c | |||
@@ -373,6 +373,7 @@ static int setup_frame(int sig, struct k_sigaction *ka, | |||
373 | err |= __put_user(OR_R0_R0, &frame->retcode[6]); | 373 | err |= __put_user(OR_R0_R0, &frame->retcode[6]); |
374 | err |= __put_user((__NR_sigreturn), &frame->retcode[7]); | 374 | err |= __put_user((__NR_sigreturn), &frame->retcode[7]); |
375 | regs->pr = (unsigned long) frame->retcode; | 375 | regs->pr = (unsigned long) frame->retcode; |
376 | flush_icache_range(regs->pr, regs->pr + sizeof(frame->retcode)); | ||
376 | } | 377 | } |
377 | 378 | ||
378 | if (err) | 379 | if (err) |
@@ -398,8 +399,6 @@ static int setup_frame(int sig, struct k_sigaction *ka, | |||
398 | pr_debug("SIG deliver (%s:%d): sp=%p pc=%08lx pr=%08lx\n", | 399 | pr_debug("SIG deliver (%s:%d): sp=%p pc=%08lx pr=%08lx\n", |
399 | current->comm, task_pid_nr(current), frame, regs->pc, regs->pr); | 400 | current->comm, task_pid_nr(current), frame, regs->pc, regs->pr); |
400 | 401 | ||
401 | flush_icache_range(regs->pr, regs->pr + sizeof(frame->retcode)); | ||
402 | |||
403 | return 0; | 402 | return 0; |
404 | 403 | ||
405 | give_sigsegv: | 404 | give_sigsegv: |