]> Pileus Git - ~andy/linux/blobdiff - include/asm-generic/siginfo.h
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wirel...
[~andy/linux] / include / asm-generic / siginfo.h
index 5e5e3865f1edb3df5b928b6d0b2951b91c3dbccc..8ed67779fc09cef1b60407e4eb5361aadbeb7027 100644 (file)
@@ -98,9 +98,18 @@ typedef struct siginfo {
                        __ARCH_SI_BAND_T _band; /* POLL_IN, POLL_OUT, POLL_MSG */
                        int _fd;
                } _sigpoll;
+
+               /* SIGSYS */
+               struct {
+                       void __user *_call_addr; /* calling user insn */
+                       int _syscall;   /* triggering system call number */
+                       unsigned int _arch;     /* AUDIT_ARCH_* of syscall */
+               } _sigsys;
        } _sifields;
 } __ARCH_SI_ATTRIBUTES siginfo_t;
 
+/* If the arch shares siginfo, then it has SIGSYS. */
+#define __ARCH_SIGSYS
 #endif
 
 /*
@@ -124,6 +133,11 @@ typedef struct siginfo {
 #define si_addr_lsb    _sifields._sigfault._addr_lsb
 #define si_band                _sifields._sigpoll._band
 #define si_fd          _sifields._sigpoll._fd
+#ifdef __ARCH_SIGSYS
+#define si_call_addr   _sifields._sigsys._call_addr
+#define si_syscall     _sifields._sigsys._syscall
+#define si_arch                _sifields._sigsys._arch
+#endif
 
 #ifdef __KERNEL__
 #define __SI_MASK      0xffff0000u
@@ -134,6 +148,7 @@ typedef struct siginfo {
 #define __SI_CHLD      (4 << 16)
 #define __SI_RT                (5 << 16)
 #define __SI_MESGQ     (6 << 16)
+#define __SI_SYS       (7 << 16)
 #define __SI_CODE(T,N) ((T) | ((N) & 0xffff))
 #else
 #define __SI_KILL      0
@@ -143,6 +158,7 @@ typedef struct siginfo {
 #define __SI_CHLD      0
 #define __SI_RT                0
 #define __SI_MESGQ     0
+#define __SI_SYS       0
 #define __SI_CODE(T,N) (N)
 #endif
 
@@ -239,6 +255,12 @@ typedef struct siginfo {
 #define POLL_HUP       (__SI_POLL|6)   /* device disconnected */
 #define NSIGPOLL       6
 
+/*
+ * SIGSYS si_codes
+ */
+#define SYS_SECCOMP            (__SI_SYS|1)    /* seccomp triggered */
+#define NSIGSYS        1
+
 /*
  * sigevent definitions
  *