VServer 1.9.2 (patch-2.6.8.1-vs1.9.2.diff)
[linux-2.6.git] / include / asm-alpha / signal.h
index 37f1742..25f98bc 100644 (file)
@@ -128,7 +128,11 @@ typedef unsigned long sigset_t;
 #define SIG_SETMASK        3   /* for setting the signal mask */
 
 /* Type of a signal handler.  */
-typedef void (*__sighandler_t)(int);
+typedef void __signalfn_t(int);
+typedef __signalfn_t __user *__sighandler_t;
+
+typedef void __restorefn_t(void);
+typedef __restorefn_t __user *__sigrestore_t;
 
 #define SIG_DFL        ((__sighandler_t)0)     /* default signal handling */
 #define SIG_IGN        ((__sighandler_t)1)     /* ignore signal */
@@ -149,7 +153,7 @@ struct sigaction {
 
 struct k_sigaction {
        struct sigaction sa;
-       void (*ka_restorer)(void);
+       __sigrestore_t ka_restorer;
 };
 #else
 /* Here we must cater to libcs that poke about in kernel headers.  */
@@ -169,7 +173,7 @@ struct sigaction {
 #endif /* __KERNEL__ */
 
 typedef struct sigaltstack {
-       void *ss_sp;
+       void __user *ss_sp;
        int ss_flags;
        size_t ss_size;
 } stack_t;
@@ -179,7 +183,7 @@ typedef struct sigaltstack {
    implemented here for OSF/1 compatibility.  */
 
 struct sigstack {
-       void *ss_sp;
+       void __user *ss_sp;
        int ss_onstack;
 };