diff options
author | Daniel Golle <daniel@makrotopia.org> | 2015-05-17 22:49:23 +0200 |
---|---|---|
committer | Waldemar Brodkorb <wbx@openadk.org> | 2015-06-10 10:18:54 -0500 |
commit | 90edbb4e01e8a65ae7415af88bd194cea1aa0520 (patch) | |
tree | d75e7d3a297a710ae7453dbb195cd393c2972bf2 /libc/sysdeps/linux/sparc/bits/siginfo.h | |
parent | a7f7831ec0914f471883c1dfe494a3e68557b56f (diff) |
siginfo: add signal info for seccomp related SIGSYS
uClibc doesn't define signal info for the SIGSYS signal which is issued
in case of hitting a syscall prohibited by seccomp.
This is sad as it makes debugging seccomp filter policies impossible on
some architectures (at least ARM and PowerPC, maybe also others) which
do not coincidentally set si_value.sival_int as the syscall number.
To fix this, import the definitions and macros needed from glibc.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Diffstat (limited to 'libc/sysdeps/linux/sparc/bits/siginfo.h')
-rw-r--r-- | libc/sysdeps/linux/sparc/bits/siginfo.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/libc/sysdeps/linux/sparc/bits/siginfo.h b/libc/sysdeps/linux/sparc/bits/siginfo.h index 3ffeb6dcf..da1c83884 100644 --- a/libc/sysdeps/linux/sparc/bits/siginfo.h +++ b/libc/sysdeps/linux/sparc/bits/siginfo.h @@ -104,6 +104,14 @@ typedef struct siginfo int si_band; /* Band event for SIGPOLL. */ int si_fd; } _sigpoll; + + /* SIGSYS. */ + struct + { + void *_call_addr; /* Calling user insn. */ + int _syscall; /* Triggering system call number. */ + unsigned int _arch; /* AUDIT_ARCH_* of syscall. */ + } _sigsys; } _sifields; } siginfo_t; @@ -123,6 +131,9 @@ typedef struct siginfo # define si_trapno _sifields._sigfault.si_trapno # define si_band _sifields._sigpoll.si_band # define si_fd _sifields._sigpoll.si_fd +# define si_call_addr _sifields._sigsys._call_addr +# define si_syscall _sifields._sigsys._syscall +# define si_arch _sifields._sigsys._arch /* Values for `si_code'. Positive values are reserved for kernel-generated |