diff options
Diffstat (limited to 'arch/powerpc/kernel/signal_32.c')
-rw-r--r-- | arch/powerpc/kernel/signal_32.c | 12 |
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; |