|
@@ -90,9 +90,18 @@ typedef struct siginfo {
|
|
__ARCH_SI_BAND_T _band; /* POLL_IN, POLL_OUT, POLL_MSG */
|
|
__ARCH_SI_BAND_T _band; /* POLL_IN, POLL_OUT, POLL_MSG */
|
|
int _fd;
|
|
int _fd;
|
|
} _sigpoll;
|
|
} _sigpoll;
|
|
|
|
+
|
|
|
|
+ /* SIGSYS */
|
|
|
|
+ struct {
|
|
|
|
+ void __user *_call_addr; /* calling insn */
|
|
|
|
+ int _syscall; /* triggering system call number */
|
|
|
|
+ unsigned int _arch; /* AUDIT_ARCH_* of syscall */
|
|
|
|
+ } _sigsys;
|
|
} _sifields;
|
|
} _sifields;
|
|
} siginfo_t;
|
|
} siginfo_t;
|
|
|
|
|
|
|
|
+/* If the arch shares siginfo, then it has SIGSYS. */
|
|
|
|
+#define __ARCH_SIGSYS
|
|
#endif
|
|
#endif
|
|
|
|
|
|
/*
|
|
/*
|
|
@@ -116,6 +125,11 @@ typedef struct siginfo {
|
|
#define si_addr_lsb _sifields._sigfault._addr_lsb
|
|
#define si_addr_lsb _sifields._sigfault._addr_lsb
|
|
#define si_band _sifields._sigpoll._band
|
|
#define si_band _sifields._sigpoll._band
|
|
#define si_fd _sifields._sigpoll._fd
|
|
#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__
|
|
#ifdef __KERNEL__
|
|
#define __SI_MASK 0xffff0000u
|
|
#define __SI_MASK 0xffff0000u
|
|
@@ -126,6 +140,7 @@ typedef struct siginfo {
|
|
#define __SI_CHLD (4 << 16)
|
|
#define __SI_CHLD (4 << 16)
|
|
#define __SI_RT (5 << 16)
|
|
#define __SI_RT (5 << 16)
|
|
#define __SI_MESGQ (6 << 16)
|
|
#define __SI_MESGQ (6 << 16)
|
|
|
|
+#define __SI_SYS (7 << 16)
|
|
#define __SI_CODE(T,N) ((T) | ((N) & 0xffff))
|
|
#define __SI_CODE(T,N) ((T) | ((N) & 0xffff))
|
|
#else
|
|
#else
|
|
#define __SI_KILL 0
|
|
#define __SI_KILL 0
|
|
@@ -135,6 +150,7 @@ typedef struct siginfo {
|
|
#define __SI_CHLD 0
|
|
#define __SI_CHLD 0
|
|
#define __SI_RT 0
|
|
#define __SI_RT 0
|
|
#define __SI_MESGQ 0
|
|
#define __SI_MESGQ 0
|
|
|
|
+#define __SI_SYS 0
|
|
#define __SI_CODE(T,N) (N)
|
|
#define __SI_CODE(T,N) (N)
|
|
#endif
|
|
#endif
|
|
|
|
|
|
@@ -231,6 +247,12 @@ typedef struct siginfo {
|
|
#define POLL_HUP (__SI_POLL|6) /* device disconnected */
|
|
#define POLL_HUP (__SI_POLL|6) /* device disconnected */
|
|
#define NSIGPOLL 6
|
|
#define NSIGPOLL 6
|
|
|
|
|
|
|
|
+/*
|
|
|
|
+ * SIGSYS si_codes
|
|
|
|
+ */
|
|
|
|
+#define SYS_SECCOMP (__SI_SYS|1) /* seccomp triggered */
|
|
|
|
+#define NSIGSYS 1
|
|
|
|
+
|
|
/*
|
|
/*
|
|
* sigevent definitions
|
|
* sigevent definitions
|
|
*
|
|
*
|