Loading arch/um/include/asm/processor-generic.h +0 −2 Original line number Diff line number Diff line Loading @@ -26,7 +26,6 @@ struct thread_struct { jmp_buf *fault_catcher; struct task_struct *prev_sched; unsigned long temp_stack; jmp_buf *exec_buf; struct arch_thread arch; jmp_buf switch_buf; int mm_count; Loading Loading @@ -54,7 +53,6 @@ struct thread_struct { .fault_addr = NULL, \ .prev_sched = NULL, \ .temp_stack = 0, \ .exec_buf = NULL, \ .arch = INIT_ARCH_THREAD, \ .request = { 0 } \ } Loading arch/um/include/shared/os.h +0 −1 Original line number Diff line number Diff line Loading @@ -191,7 +191,6 @@ extern int os_getpid(void); extern int os_getpgrp(void); extern void init_new_thread_signals(void); extern int run_kernel_thread(int (*fn)(void *), void *arg, jmp_buf **jmp_ptr); extern int os_map_memory(void *virt, int fd, unsigned long long off, unsigned long len, int r, int w, int x); Loading arch/um/kernel/exec.c +0 −5 Original line number Diff line number Diff line Loading @@ -47,8 +47,3 @@ void start_thread(struct pt_regs *regs, unsigned long eip, unsigned long esp) #endif } EXPORT_SYMBOL(start_thread); void __noreturn ret_from_kernel_execve(struct pt_regs *unused) { UML_LONGJMP(current->thread.exec_buf, 1); } arch/um/kernel/process.c +3 −7 Original line number Diff line number Diff line Loading @@ -135,14 +135,10 @@ void new_thread_handler(void) arg = current->thread.request.u.thread.arg; /* * The return value is 1 if the kernel thread execs a process, * 0 if it just exits * callback returns only if the kernel thread execs a process */ n = run_kernel_thread(fn, arg, ¤t->thread.exec_buf); if (n == 1) n = fn(arg); userspace(¤t->thread.regs.regs); else do_exit(0); } /* Called magically, see new_thread_handler above */ Loading arch/um/os-Linux/process.c +0 −13 Original line number Diff line number Diff line Loading @@ -244,16 +244,3 @@ void init_new_thread_signals(void) signal(SIGWINCH, SIG_IGN); signal(SIGTERM, SIG_DFL); } int run_kernel_thread(int (*fn)(void *), void *arg, jmp_buf **jmp_ptr) { jmp_buf buf; int n; *jmp_ptr = &buf; n = UML_SETJMP(&buf); if (n != 0) return n; (*fn)(arg); return 0; } Loading
arch/um/include/asm/processor-generic.h +0 −2 Original line number Diff line number Diff line Loading @@ -26,7 +26,6 @@ struct thread_struct { jmp_buf *fault_catcher; struct task_struct *prev_sched; unsigned long temp_stack; jmp_buf *exec_buf; struct arch_thread arch; jmp_buf switch_buf; int mm_count; Loading Loading @@ -54,7 +53,6 @@ struct thread_struct { .fault_addr = NULL, \ .prev_sched = NULL, \ .temp_stack = 0, \ .exec_buf = NULL, \ .arch = INIT_ARCH_THREAD, \ .request = { 0 } \ } Loading
arch/um/include/shared/os.h +0 −1 Original line number Diff line number Diff line Loading @@ -191,7 +191,6 @@ extern int os_getpid(void); extern int os_getpgrp(void); extern void init_new_thread_signals(void); extern int run_kernel_thread(int (*fn)(void *), void *arg, jmp_buf **jmp_ptr); extern int os_map_memory(void *virt, int fd, unsigned long long off, unsigned long len, int r, int w, int x); Loading
arch/um/kernel/exec.c +0 −5 Original line number Diff line number Diff line Loading @@ -47,8 +47,3 @@ void start_thread(struct pt_regs *regs, unsigned long eip, unsigned long esp) #endif } EXPORT_SYMBOL(start_thread); void __noreturn ret_from_kernel_execve(struct pt_regs *unused) { UML_LONGJMP(current->thread.exec_buf, 1); }
arch/um/kernel/process.c +3 −7 Original line number Diff line number Diff line Loading @@ -135,14 +135,10 @@ void new_thread_handler(void) arg = current->thread.request.u.thread.arg; /* * The return value is 1 if the kernel thread execs a process, * 0 if it just exits * callback returns only if the kernel thread execs a process */ n = run_kernel_thread(fn, arg, ¤t->thread.exec_buf); if (n == 1) n = fn(arg); userspace(¤t->thread.regs.regs); else do_exit(0); } /* Called magically, see new_thread_handler above */ Loading
arch/um/os-Linux/process.c +0 −13 Original line number Diff line number Diff line Loading @@ -244,16 +244,3 @@ void init_new_thread_signals(void) signal(SIGWINCH, SIG_IGN); signal(SIGTERM, SIG_DFL); } int run_kernel_thread(int (*fn)(void *), void *arg, jmp_buf **jmp_ptr) { jmp_buf buf; int n; *jmp_ptr = &buf; n = UML_SETJMP(&buf); if (n != 0) return n; (*fn)(arg); return 0; }