aboutsummaryrefslogtreecommitdiffstats
path: root/arch/um/os-Linux/process.c
diff options
context:
space:
mode:
authorSteven Whitehouse <swhiteho@redhat.com>2006-02-27 13:27:34 -0500
committerSteven Whitehouse <swhiteho@redhat.com>2006-02-27 13:27:34 -0500
commitf3b270a47882b958e9e3c5bd86894e3a7072899a (patch)
treede3bdfd5d67e8310257b93ac3d8d703599b9d929 /arch/um/os-Linux/process.c
parent116ad29d9839610d2811a1962cac7f3f2a9f9295 (diff)
parentb9a33cebac70d6f67a769ce8d4078fee2b254ada (diff)
Merge branch 'master'
Diffstat (limited to 'arch/um/os-Linux/process.c')
-rw-r--r--arch/um/os-Linux/process.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/arch/um/os-Linux/process.c b/arch/um/os-Linux/process.c
index 7f5e2dac2a35..d261888f39c4 100644
--- a/arch/um/os-Linux/process.c
+++ b/arch/um/os-Linux/process.c
@@ -19,6 +19,7 @@
19#include "irq_user.h" 19#include "irq_user.h"
20#include "kern_util.h" 20#include "kern_util.h"
21#include "longjmp.h" 21#include "longjmp.h"
22#include "skas_ptrace.h"
22 23
23#define ARBITRARY_ADDR -1 24#define ARBITRARY_ADDR -1
24#define FAILURE_PID -1 25#define FAILURE_PID -1
@@ -100,6 +101,21 @@ void os_kill_process(int pid, int reap_child)
100 101
101} 102}
102 103
104/* This is here uniquely to have access to the userspace errno, i.e. the one
105 * used by ptrace in case of error.
106 */
107
108long os_ptrace_ldt(long pid, long addr, long data)
109{
110 int ret;
111
112 ret = ptrace(PTRACE_LDT, pid, addr, data);
113
114 if (ret < 0)
115 return -errno;
116 return ret;
117}
118
103/* Kill off a ptraced child by all means available. kill it normally first, 119/* Kill off a ptraced child by all means available. kill it normally first,
104 * then PTRACE_KILL it, then PTRACE_CONT it in case it's in a run state from 120 * then PTRACE_KILL it, then PTRACE_CONT it in case it's in a run state from
105 * which it can't exit directly. 121 * which it can't exit directly.