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.c13
1 files changed, 4 insertions, 9 deletions
diff --git a/arch/powerpc/kernel/signal_32.c b/arch/powerpc/kernel/signal_32.c
index 081d931eae48..8bdf95b7e420 100644
--- a/arch/powerpc/kernel/signal_32.c
+++ b/arch/powerpc/kernel/signal_32.c
@@ -42,10 +42,11 @@
42 42
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>
46#include <asm/vdso.h>
45#ifdef CONFIG_PPC64 47#ifdef CONFIG_PPC64
46#include "ppc32.h" 48#include "ppc32.h"
47#include <asm/unistd.h> 49#include <asm/unistd.h>
48#include <asm/vdso.h>
49#else 50#else
50#include <asm/ucontext.h> 51#include <asm/ucontext.h>
51#include <asm/pgtable.h> 52#include <asm/pgtable.h>
@@ -808,14 +809,11 @@ static int handle_rt_signal(unsigned long sig, struct k_sigaction *ka,
808 809
809 /* Save user registers on the stack */ 810 /* Save user registers on the stack */
810 frame = &rt_sf->uc.uc_mcontext; 811 frame = &rt_sf->uc.uc_mcontext;
811#ifdef CONFIG_PPC64
812 if (vdso32_rt_sigtramp && current->thread.vdso_base) { 812 if (vdso32_rt_sigtramp && current->thread.vdso_base) {
813 if (save_user_regs(regs, frame, 0)) 813 if (save_user_regs(regs, frame, 0))
814 goto badframe; 814 goto badframe;
815 regs->link = current->thread.vdso_base + vdso32_rt_sigtramp; 815 regs->link = current->thread.vdso_base + vdso32_rt_sigtramp;
816 } else 816 } else {
817#endif
818 {
819 if (save_user_regs(regs, frame, __NR_rt_sigreturn)) 817 if (save_user_regs(regs, frame, __NR_rt_sigreturn))
820 goto badframe; 818 goto badframe;
821 regs->link = (unsigned long) frame->tramp; 819 regs->link = (unsigned long) frame->tramp;
@@ -1089,14 +1087,11 @@ static int handle_signal(unsigned long sig, struct k_sigaction *ka,
1089 || __put_user(sig, &sc->signal)) 1087 || __put_user(sig, &sc->signal))
1090 goto badframe; 1088 goto badframe;
1091 1089
1092#ifdef CONFIG_PPC64
1093 if (vdso32_sigtramp && current->thread.vdso_base) { 1090 if (vdso32_sigtramp && current->thread.vdso_base) {
1094 if (save_user_regs(regs, &frame->mctx, 0)) 1091 if (save_user_regs(regs, &frame->mctx, 0))
1095 goto badframe; 1092 goto badframe;
1096 regs->link = current->thread.vdso_base + vdso32_sigtramp; 1093 regs->link = current->thread.vdso_base + vdso32_sigtramp;
1097 } else 1094 } else {
1098#endif
1099 {
1100 if (save_user_regs(regs, &frame->mctx, __NR_sigreturn)) 1095 if (save_user_regs(regs, &frame->mctx, __NR_sigreturn))
1101 goto badframe; 1096 goto badframe;
1102 regs->link = (unsigned long) frame->mctx.tramp; 1097 regs->link = (unsigned long) frame->mctx.tramp;