SKAS4 - Guest support for using PTRACE_GETSIGINFO
RFC PATCH 6/10 SKAS4 - Guest support for using PTRACE_GETSIGINFO
The nastiness in arch/um/include/siginfo_segv.h is defining the new siginfo_t structure in place of the old one, which requires using CPP to rename the old one out of the way.
arch/um/include/skas/skas.h +2 -0
@@ -8,6 +8,8 @@#include "sysdep/ptrace.h" +extern int have_siginfo_segv; +extern int userspace_pid[];extern int proc_mm, ptrace_faultinfo, ptrace_ldt;extern int skas_needs_stub;
arch/um/os-Linux/skas/process.c +16 -1
@@ -3,6 +3,9 @@* Licensed under the GPL */ +/* Include this first, before anything else includes <signal.h> */ +#include "siginfo_segv.h" +#include <stdlib.h> #include <unistd.h> #include <sched.h>
@@ -91,11 +94,23 @@ bad_wait:extern unsigned long current_stub_stack (void ); +#ifndef PTRACE_GETSIGINFO +#define PTRACE_GETSIGINFO 0x4202 +#endif +void get_skas_faultinfo (int pid,struct faultinfo * fi) { +siginfo_t si;int err; -if (ptrace_faultinfo) { +if (have_siginfo_segv){ + err =ptrace (PTRACE_GETSIGINFO , pid,0 , &si); +if (err) +printk ("PTRACE_GETSIGINFO failed, err = %d\n" , errno); + +GET_FAULTINFO_FROM_SI (*fi, si); + } +else if (ptrace_faultinfo) { err =ptrace (PTRACE_FAULTINFO , pid,0 , fi);if (err) panic("get_skas_faultinfo - PTRACE_FAULTINFO failed, "
arch/um/os-Linux/start_up.c +140 -0
176 lines not on this page · raw message
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
User-mode-linux-devel mailing list [email protected]
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel