aboutsummaryrefslogtreecommitdiffstats
path: root/arch/um/os-Linux/skas/trap.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/um/os-Linux/skas/trap.c')
-rw-r--r--arch/um/os-Linux/skas/trap.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/arch/um/os-Linux/skas/trap.c b/arch/um/os-Linux/skas/trap.c
index 3b600c2e63b8..d43e470227de 100644
--- a/arch/um/os-Linux/skas/trap.c
+++ b/arch/um/os-Linux/skas/trap.c
@@ -15,13 +15,13 @@
15#include "sysdep/ptrace_user.h" 15#include "sysdep/ptrace_user.h"
16#include "os.h" 16#include "os.h"
17 17
18static union uml_pt_regs ksig_regs[UM_NR_CPUS]; 18static struct uml_pt_regs ksig_regs[UM_NR_CPUS];
19 19
20void sig_handler_common_skas(int sig, void *sc_ptr) 20void sig_handler_common_skas(int sig, void *sc_ptr)
21{ 21{
22 struct sigcontext *sc = sc_ptr; 22 struct sigcontext *sc = sc_ptr;
23 union uml_pt_regs *r; 23 struct uml_pt_regs *r;
24 void (*handler)(int, union uml_pt_regs *); 24 void (*handler)(int, struct uml_pt_regs *);
25 int save_user, save_errno = errno; 25 int save_user, save_errno = errno;
26 26
27 /* This is done because to allow SIGSEGV to be delivered inside a SEGV 27 /* This is done because to allow SIGSEGV to be delivered inside a SEGV
@@ -42,12 +42,12 @@ void sig_handler_common_skas(int sig, void *sc_ptr)
42 } 42 }
43 else r = TASK_REGS(get_current()); 43 else r = TASK_REGS(get_current());
44 44
45 save_user = r->skas.is_user; 45 save_user = r->is_user;
46 r->skas.is_user = 0; 46 r->is_user = 0;
47 if ( sig == SIGFPE || sig == SIGSEGV || 47 if ( sig == SIGFPE || sig == SIGSEGV ||
48 sig == SIGBUS || sig == SIGILL || 48 sig == SIGBUS || sig == SIGILL ||
49 sig == SIGTRAP ) { 49 sig == SIGTRAP ) {
50 GET_FAULTINFO_FROM_SC(r->skas.faultinfo, sc); 50 GET_FAULTINFO_FROM_SC(r->faultinfo, sc);
51 } 51 }
52 52
53 change_sig(SIGUSR1, 1); 53 change_sig(SIGUSR1, 1);
@@ -62,5 +62,5 @@ void sig_handler_common_skas(int sig, void *sc_ptr)
62 handler(sig, r); 62 handler(sig, r);
63 63
64 errno = save_errno; 64 errno = save_errno;
65 r->skas.is_user = save_user; 65 r->is_user = save_user;
66} 66}