diff options
author | Tony Luck <tony.luck@intel.com> | 2005-07-08 08:52:42 -0700 |
---|---|---|
committer | Tony Luck <tony.luck@intel.com> | 2005-07-08 08:52:42 -0700 |
commit | 88c3cdfdde3cf87e1831265ea4246430bef34fc9 (patch) | |
tree | caea510ffb2f81a5ea13b00ecb8a4146ad462048 /arch/um/kernel/process.c | |
parent | 2b2c3750330325ae5071582b5c4dbdf1c8bc1e51 (diff) | |
parent | a92b7b80579fe68fe229892815c750f6652eb6a9 (diff) | |
download | talos-op-linux-88c3cdfdde3cf87e1831265ea4246430bef34fc9.tar.gz talos-op-linux-88c3cdfdde3cf87e1831265ea4246430bef34fc9.zip |
Auto merge with /home/aegl/GIT/linus
Diffstat (limited to 'arch/um/kernel/process.c')
-rw-r--r-- | arch/um/kernel/process.c | 28 |
1 files changed, 16 insertions, 12 deletions
diff --git a/arch/um/kernel/process.c b/arch/um/kernel/process.c index 1b5ef3e96c71..c45a60e9c92d 100644 --- a/arch/um/kernel/process.c +++ b/arch/um/kernel/process.c @@ -32,6 +32,7 @@ #include "uml-config.h" #include "choose-mode.h" #include "mode.h" +#include "tempfile.h" #ifdef UML_CONFIG_MODE_SKAS #include "skas.h" #include "skas_ptrace.h" @@ -358,11 +359,16 @@ void forward_pending_sigio(int target) kill(target, SIGIO); } +int ptrace_faultinfo = 0; +int proc_mm = 1; + +extern void *__syscall_stub_start, __syscall_stub_end; + #ifdef UML_CONFIG_MODE_SKAS -static inline int check_skas3_ptrace_support(void) +static inline void check_skas3_ptrace_support(void) { struct ptrace_faultinfo fi; - int pid, n, ret = 1; + int pid, n; printf("Checking for the skas3 patch in the host..."); pid = start_ptraced_child(); @@ -374,33 +380,31 @@ static inline int check_skas3_ptrace_support(void) else { perror("not found"); } - ret = 0; - } else { + } + else { + ptrace_faultinfo = 1; printf("found\n"); } init_registers(pid); stop_ptraced_child(pid, 1, 1); - - return(ret); } int can_do_skas(void) { - int ret = 1; - printf("Checking for /proc/mm..."); if (os_access("/proc/mm", OS_ACC_W_OK) < 0) { + proc_mm = 0; printf("not found\n"); - ret = 0; goto out; - } else { + } + else { printf("found\n"); } - ret = check_skas3_ptrace_support(); out: - return ret; + check_skas3_ptrace_support(); + return 1; } #else int can_do_skas(void) |