aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel/signal_32.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/powerpc/kernel/signal_32.c')
-rw-r--r--arch/powerpc/kernel/signal_32.c12
1 files changed, 3 insertions, 9 deletions
diff --git a/arch/powerpc/kernel/signal_32.c b/arch/powerpc/kernel/signal_32.c
index a7c4515f320f..8bdf95b7e420 100644
--- a/arch/powerpc/kernel/signal_32.c
+++ b/arch/powerpc/kernel/signal_32.c
@@ -43,10 +43,10 @@
43#include <asm/uaccess.h> 43#include <asm/uaccess.h>
44#include <asm/cacheflush.h> 44#include <asm/cacheflush.h>
45#include <asm/sigcontext.h> 45#include <asm/sigcontext.h>
46#include <asm/vdso.h>
46#ifdef CONFIG_PPC64 47#ifdef CONFIG_PPC64
47#include "ppc32.h" 48#include "ppc32.h"
48#include <asm/unistd.h> 49#include <asm/unistd.h>
49#include <asm/vdso.h>
50#else 50#else
51#include <asm/ucontext.h> 51#include <asm/ucontext.h>
52#include <asm/pgtable.h> 52#include <asm/pgtable.h>
@@ -809,14 +809,11 @@ static int handle_rt_signal(unsigned long sig, struct k_sigaction *ka,
809 809
810 /* Save user registers on the stack */ 810 /* Save user registers on the stack */
811 frame = &rt_sf->uc.uc_mcontext; 811 frame = &rt_sf->uc.uc_mcontext;
812#ifdef CONFIG_PPC64
813 if (vdso32_rt_sigtramp && current->thread.vdso_base) { 812 if (vdso32_rt_sigtramp && current->thread.vdso_base) {
814 if (save_user_regs(regs, frame, 0)) 813 if (save_user_regs(regs, frame, 0))
815 goto badframe; 814 goto badframe;
816 regs->link = current->thread.vdso_base + vdso32_rt_sigtramp; 815 regs->link = current->thread.vdso_base + vdso32_rt_sigtramp;
817 } else 816 } else {
818#endif
819 {
820 if (save_user_regs(regs, frame, __NR_rt_sigreturn)) 817 if (save_user_regs(regs, frame, __NR_rt_sigreturn))
821 goto badframe; 818 goto badframe;
822 regs->link = (unsigned long) frame->tramp; 819 regs->link = (unsigned long) frame->tramp;
@@ -1090,14 +1087,11 @@ static int handle_signal(unsigned long sig, struct k_sigaction *ka,
1090 || __put_user(sig, &sc->signal)) 1087 || __put_user(sig, &sc->signal))
1091 goto badframe; 1088 goto badframe;
1092 1089
1093#ifdef CONFIG_PPC64
1094 if (vdso32_sigtramp && current->thread.vdso_base) { 1090 if (vdso32_sigtramp && current->thread.vdso_base) {
1095 if (save_user_regs(regs, &frame->mctx, 0)) 1091 if (save_user_regs(regs, &frame->mctx, 0))
1096 goto badframe; 1092 goto badframe;
1097 regs->link = current->thread.vdso_base + vdso32_sigtramp; 1093 regs->link = current->thread.vdso_base + vdso32_sigtramp;
1098 } else 1094 } else {
1099#endif
1100 {
1101 if (save_user_regs(regs, &frame->mctx, __NR_sigreturn)) 1095 if (save_user_regs(regs, &frame->mctx, __NR_sigreturn))
1102 goto badframe; 1096 goto badframe;
1103 regs->link = (unsigned long) frame->mctx.tramp; 1097 regs->link = (unsigned long) frame->mctx.tramp;