diff options
-rw-r--r-- | arch/um/kernel/signal.c | 1 | ||||
-rw-r--r-- | arch/um/kernel/trap.c | 1 | ||||
-rw-r--r-- | arch/um/sys-x86/shared/sysdep/faultinfo_32.h | 6 | ||||
-rw-r--r-- | arch/um/sys-x86/shared/sysdep/faultinfo_64.h | 6 | ||||
-rw-r--r-- | arch/um/sys-x86/shared/sysdep/ptrace_32.h | 1 | ||||
-rw-r--r-- | arch/um/sys-x86/shared/sysdep/ptrace_64.h | 5 | ||||
-rw-r--r-- | arch/um/sys-x86/shared/sysdep/sigcontext_32.h | 8 | ||||
-rw-r--r-- | arch/um/sys-x86/shared/sysdep/sigcontext_64.h | 8 |
8 files changed, 14 insertions, 22 deletions
diff --git a/arch/um/kernel/signal.c b/arch/um/kernel/signal.c index b5c094c4ade4..e8b889d3bce7 100644 --- a/arch/um/kernel/signal.c +++ b/arch/um/kernel/signal.c @@ -11,7 +11,6 @@ #include <asm/unistd.h> #include "frame_kern.h" #include "kern_util.h" -#include <sysdep/sigcontext.h> EXPORT_SYMBOL(block_signals); EXPORT_SYMBOL(unblock_signals); diff --git a/arch/um/kernel/trap.c b/arch/um/kernel/trap.c index 8c7b8823d1f0..f2a2036c026a 100644 --- a/arch/um/kernel/trap.c +++ b/arch/um/kernel/trap.c @@ -14,7 +14,6 @@ #include "kern_util.h" #include "os.h" #include "skas.h" -#include "sysdep/sigcontext.h" /* * Note this is constrained to return 0, -EFAULT, -EACCESS, -ENOMEM by diff --git a/arch/um/sys-x86/shared/sysdep/faultinfo_32.h b/arch/um/sys-x86/shared/sysdep/faultinfo_32.h index db437cc373bc..a26086b8a800 100644 --- a/arch/um/sys-x86/shared/sysdep/faultinfo_32.h +++ b/arch/um/sys-x86/shared/sysdep/faultinfo_32.h @@ -24,6 +24,12 @@ struct faultinfo { #define FAULT_WRITE(fi) ((fi).error_code & 2) #define FAULT_ADDRESS(fi) ((fi).cr2) +/* This is Page Fault */ +#define SEGV_IS_FIXABLE(fi) ((fi)->trap_no == 14) + +/* SKAS3 has no trap_no on i386, but get_skas_faultinfo() sets it to 0. */ +#define SEGV_MAYBE_FIXABLE(fi) ((fi)->trap_no == 0 && ptrace_faultinfo) + #define PTRACE_FULL_FAULTINFO 0 #endif diff --git a/arch/um/sys-x86/shared/sysdep/faultinfo_64.h b/arch/um/sys-x86/shared/sysdep/faultinfo_64.h index cb917b0d5660..f811cbe15d62 100644 --- a/arch/um/sys-x86/shared/sysdep/faultinfo_64.h +++ b/arch/um/sys-x86/shared/sysdep/faultinfo_64.h @@ -24,6 +24,12 @@ struct faultinfo { #define FAULT_WRITE(fi) ((fi).error_code & 2) #define FAULT_ADDRESS(fi) ((fi).cr2) +/* This is Page Fault */ +#define SEGV_IS_FIXABLE(fi) ((fi)->trap_no == 14) + +/* No broken SKAS API, which doesn't pass trap_no, here. */ +#define SEGV_MAYBE_FIXABLE(fi) 0 + #define PTRACE_FULL_FAULTINFO 1 #endif diff --git a/arch/um/sys-x86/shared/sysdep/ptrace_32.h b/arch/um/sys-x86/shared/sysdep/ptrace_32.h index 6096c8f89f4f..ce77fa1e2a15 100644 --- a/arch/um/sys-x86/shared/sysdep/ptrace_32.h +++ b/arch/um/sys-x86/shared/sysdep/ptrace_32.h @@ -43,6 +43,7 @@ extern int sysemu_supported; #define REGS_SET_SYSCALL_RETURN(r, res) REGS_EAX(r) = (res) +#define IP_RESTART_SYSCALL(ip) ((ip) -= 2) #define REGS_RESTART_SYSCALL(r) IP_RESTART_SYSCALL(REGS_IP(r)) #ifndef PTRACE_SYSEMU_SINGLESTEP diff --git a/arch/um/sys-x86/shared/sysdep/ptrace_64.h b/arch/um/sys-x86/shared/sysdep/ptrace_64.h index 9ed4597fa942..866fe7e47369 100644 --- a/arch/um/sys-x86/shared/sysdep/ptrace_64.h +++ b/arch/um/sys-x86/shared/sysdep/ptrace_64.h @@ -69,10 +69,9 @@ #define REGS_SET_SYSCALL_RETURN(r, res) REGS_RAX(r) = (res) +#define IP_RESTART_SYSCALL(ip) ((ip) -= 2) #define REGS_RESTART_SYSCALL(r) IP_RESTART_SYSCALL(REGS_IP(r)) -#define REGS_SEGV_IS_FIXABLE(r) SEGV_IS_FIXABLE((r)->trap_type) - #define REGS_FAULT_ADDR(r) ((r)->fault_addr) #define REGS_FAULT_WRITE(r) FAULT_WRITE((r)->fault_type) @@ -152,8 +151,6 @@ struct syscall_args { #define UPT_RESTART_SYSCALL(r) REGS_RESTART_SYSCALL((r)->gp) -#define UPT_SEGV_IS_FIXABLE(r) REGS_SEGV_IS_FIXABLE(&r->skas) - #define UPT_FAULTINFO(r) (&(r)->faultinfo) static inline void arch_init_registers(int pid) diff --git a/arch/um/sys-x86/shared/sysdep/sigcontext_32.h b/arch/um/sys-x86/shared/sysdep/sigcontext_32.h index 382786436194..aebc2dd61f0d 100644 --- a/arch/um/sys-x86/shared/sysdep/sigcontext_32.h +++ b/arch/um/sys-x86/shared/sysdep/sigcontext_32.h @@ -8,8 +8,6 @@ #include <generated/user_constants.h> -#define IP_RESTART_SYSCALL(ip) ((ip) -= 2) - #define SC_OFFSET(sc, field) \ *((unsigned long *) &(((char *) (sc))[HOST_##field])) @@ -24,10 +22,4 @@ (fi).trap_no = SC_TRAPNO(sc); \ } -/* This is Page Fault */ -#define SEGV_IS_FIXABLE(fi) ((fi)->trap_no == 14) - -/* SKAS3 has no trap_no on i386, but get_skas_faultinfo() sets it to 0. */ -#define SEGV_MAYBE_FIXABLE(fi) ((fi)->trap_no == 0 && ptrace_faultinfo) - #endif diff --git a/arch/um/sys-x86/shared/sysdep/sigcontext_64.h b/arch/um/sys-x86/shared/sysdep/sigcontext_64.h index 9fb527713efb..60d89a2fba06 100644 --- a/arch/um/sys-x86/shared/sysdep/sigcontext_64.h +++ b/arch/um/sys-x86/shared/sysdep/sigcontext_64.h @@ -15,8 +15,6 @@ #define SC_ERR(sc) SC_OFFSET(sc, SC_ERR) #define SC_TRAPNO(sc) SC_OFFSET(sc, SC_TRAPNO) -#define IP_RESTART_SYSCALL(ip) ((ip) -= 2) - #define GET_FAULTINFO_FROM_SC(fi, sc) \ { \ (fi).cr2 = SC_CR2(sc); \ @@ -24,10 +22,4 @@ (fi).trap_no = SC_TRAPNO(sc); \ } -/* This is Page Fault */ -#define SEGV_IS_FIXABLE(fi) ((fi)->trap_no == 14) - -/* No broken SKAS API, which doesn't pass trap_no, here. */ -#define SEGV_MAYBE_FIXABLE(fi) 0 - #endif |