diff options
Diffstat (limited to 'arch/um/kernel/skas/process.c')
| -rw-r--r-- | arch/um/kernel/skas/process.c | 16 |
1 files changed, 2 insertions, 14 deletions
diff --git a/arch/um/kernel/skas/process.c b/arch/um/kernel/skas/process.c index 599d679bd4fc..eea1c9c4bb0f 100644 --- a/arch/um/kernel/skas/process.c +++ b/arch/um/kernel/skas/process.c | |||
| @@ -18,7 +18,6 @@ | |||
| 18 | #include <asm/types.h> | 18 | #include <asm/types.h> |
| 19 | #include "user.h" | 19 | #include "user.h" |
| 20 | #include "ptrace_user.h" | 20 | #include "ptrace_user.h" |
| 21 | #include "time_user.h" | ||
| 22 | #include "sysdep/ptrace.h" | 21 | #include "sysdep/ptrace.h" |
| 23 | #include "user_util.h" | 22 | #include "user_util.h" |
| 24 | #include "kern_util.h" | 23 | #include "kern_util.h" |
| @@ -31,7 +30,6 @@ | |||
| 31 | #include "proc_mm.h" | 30 | #include "proc_mm.h" |
| 32 | #include "skas_ptrace.h" | 31 | #include "skas_ptrace.h" |
| 33 | #include "chan_user.h" | 32 | #include "chan_user.h" |
| 34 | #include "signal_user.h" | ||
| 35 | #include "registers.h" | 33 | #include "registers.h" |
| 36 | #include "mem.h" | 34 | #include "mem.h" |
| 37 | #include "uml-config.h" | 35 | #include "uml-config.h" |
| @@ -69,7 +67,7 @@ void wait_stub_done(int pid, int sig, char * fname) | |||
| 69 | 67 | ||
| 70 | if((n < 0) || !WIFSTOPPED(status) || | 68 | if((n < 0) || !WIFSTOPPED(status) || |
| 71 | (WSTOPSIG(status) != SIGUSR1 && WSTOPSIG(status) != SIGTRAP)){ | 69 | (WSTOPSIG(status) != SIGUSR1 && WSTOPSIG(status) != SIGTRAP)){ |
| 72 | unsigned long regs[FRAME_SIZE]; | 70 | unsigned long regs[HOST_FRAME_SIZE]; |
| 73 | if(ptrace(PTRACE_GETREGS, pid, 0, regs) < 0) | 71 | if(ptrace(PTRACE_GETREGS, pid, 0, regs) < 0) |
| 74 | printk("Failed to get registers from stub, " | 72 | printk("Failed to get registers from stub, " |
| 75 | "errno = %d\n", errno); | 73 | "errno = %d\n", errno); |
| @@ -77,7 +75,7 @@ void wait_stub_done(int pid, int sig, char * fname) | |||
| 77 | int i; | 75 | int i; |
| 78 | 76 | ||
| 79 | printk("Stub registers -\n"); | 77 | printk("Stub registers -\n"); |
| 80 | for(i = 0; i < FRAME_SIZE; i++) | 78 | for(i = 0; i < HOST_FRAME_SIZE; i++) |
| 81 | printk("\t%d - %lx\n", i, regs[i]); | 79 | printk("\t%d - %lx\n", i, regs[i]); |
| 82 | } | 80 | } |
| 83 | panic("%s : failed to wait for SIGUSR1/SIGTRAP, " | 81 | panic("%s : failed to wait for SIGUSR1/SIGTRAP, " |
| @@ -514,16 +512,6 @@ int start_idle_thread(void *stack, void *switch_buf_ptr, void **fork_buf_ptr) | |||
| 514 | siglongjmp(**switch_buf, 1); | 512 | siglongjmp(**switch_buf, 1); |
| 515 | } | 513 | } |
| 516 | 514 | ||
| 517 | void remove_sigstack(void) | ||
| 518 | { | ||
| 519 | stack_t stack = ((stack_t) { .ss_flags = SS_DISABLE, | ||
| 520 | .ss_sp = NULL, | ||
| 521 | .ss_size = 0 }); | ||
| 522 | |||
| 523 | if(sigaltstack(&stack, NULL) != 0) | ||
| 524 | panic("disabling signal stack failed, errno = %d\n", errno); | ||
| 525 | } | ||
| 526 | |||
| 527 | void initial_thread_cb_skas(void (*proc)(void *), void *arg) | 515 | void initial_thread_cb_skas(void (*proc)(void *), void *arg) |
| 528 | { | 516 | { |
| 529 | sigjmp_buf here; | 517 | sigjmp_buf here; |
