vserver 1.9.5.x5
[linux-2.6.git] / include / asm-generic / siginfo.h
index fe02b1a..8336d0c 100644 (file)
@@ -3,10 +3,11 @@
 
 #include <linux/compiler.h>
 #include <linux/types.h>
+#include <linux/resource.h>
 
 typedef union sigval {
        int sival_int;
-       void *sival_ptr;
+       void __user *sival_ptr;
 } sigval_t;
 
 /*
@@ -78,7 +79,7 @@ typedef struct siginfo {
 
                /* SIGILL, SIGFPE, SIGSEGV, SIGBUS */
                struct {
-                       void *_addr; /* faulting insn/memory ref. */
+                       void __user *_addr; /* faulting insn/memory ref. */
 #ifdef __ARCH_SI_TRAPNO
                        int _trapno;    /* TRAP # which caused the signal */
 #endif
@@ -153,7 +154,6 @@ typedef struct siginfo {
 #define SI_FROMUSER(siptr)     ((siptr)->si_code <= 0)
 #define SI_FROMKERNEL(siptr)   ((siptr)->si_code > 0)
 
-#ifndef HAVE_ARCH_SI_CODES
 /*
  * SIGILL si_codes
  */
@@ -224,8 +224,6 @@ typedef struct siginfo {
 #define POLL_HUP       (__SI_POLL|6)   /* device disconnected */
 #define NSIGPOLL       6
 
-#endif
-
 /*
  * sigevent definitions
  * 
@@ -244,8 +242,6 @@ typedef struct siginfo {
 #define SIGEV_PAD_SIZE ((SIGEV_MAX_SIZE/sizeof(int)) - 3)
 #endif
 
-#ifndef HAVE_ARCH_SIGEVENT_T
-
 typedef struct sigevent {
        sigval_t sigev_value;
        int sigev_signo;
@@ -261,8 +257,6 @@ typedef struct sigevent {
        } _sigev_un;
 } sigevent_t;
 
-#endif
-
 #define sigev_notify_function  _sigev_un._sigev_thread._function
 #define sigev_notify_attributes        _sigev_un._sigev_thread._attribute
 #define sigev_notify_thread_id  _sigev_un._tid