freebsd-dev/lib/libc
David Chisnall 3a522ba1bc Pass the syscall number to capsicum permission-denied signals
The syscall number is stored in the same register as the syscall return
on amd64 (and possibly other architectures) and so it is impossible to
recover in the signal handler after the call has returned.  This small
tweak delivers it in the `si_value` field of the signal, which is
sufficient to catch capability violations and emulate them with a call
to a more-privileged process in the signal handler.

Approved by:	markj (mentor)

Reviewed by:	kib, bcr (manpages)

Differential Revision: https://reviews.freebsd.org/D29185
2021-07-10 17:19:52 +01:00
..
aarch64 libc: add _get_tp() private function 2021-04-09 23:46:24 +03:00
amd64 libc: add _get_tp() private function 2021-04-09 23:46:24 +03:00
arm libc: add _get_tp() private function 2021-04-09 23:46:24 +03:00
capability Fix a few mandoc issues 2020-10-09 19:12:44 +00:00
compat-43 Adjust history, info source from v1's manuals 2019-09-04 13:44:46 +00:00
db Remove the SYMVER build option. 2020-04-30 22:08:40 +00:00
gdtoa Remove sparc64 specific parts of libc. 2020-02-26 18:55:09 +00:00
gen syslog.3 - Add detail about LOG_PID 2021-05-13 16:23:44 +02:00
gmon mcount: tidy up ANSIfication 2018-10-20 22:39:35 +00:00
i386 libc: add _get_tp() private function 2021-04-09 23:46:24 +03:00
iconv Remove the SYMVER build option. 2020-04-30 22:08:40 +00:00
include libc: add _get_tp() private function 2021-04-09 23:46:24 +03:00
inet libc: fix cases of undefined behavior. 2018-08-07 15:24:19 +00:00
isc SPDX: more ISC-related files. 2017-12-08 17:52:53 +00:00
locale Remove __NO_TLS. 2021-02-23 20:08:10 +02:00
md
mips libc: add _get_tp() private function 2021-04-09 23:46:24 +03:00
nameser Bounds check again after advancing cp, otherwise we have a possible 2019-09-05 19:35:30 +00:00
net Revert "lib/libc/net/nsdispatch.c: Fix missing unlock and add locking annotations" 2021-04-19 09:36:47 +01:00
nls Implement strerror_l(). 2020-12-16 09:02:09 +00:00
posix1e Fix leak in libc NFSv4 flags parsing 2021-04-20 15:39:56 -04:00
powerpc libc: add _get_tp() private function 2021-04-09 23:46:24 +03:00
powerpc64 libc: add _get_tp() private function 2021-04-09 23:46:24 +03:00
powerpcspe [PowerPC] [PowerPCSPE] Fix multiple issues in fpsetmask(). 2021-02-28 21:11:29 -06:00
quad Add casts and L suffixes to libc quad support, to work around various 2020-02-17 20:14:59 +00:00
regex libc: regex: rework unsafe pointer arithmetic 2021-01-08 13:58:35 -06:00
resolv Rather than using the legacy IP struct fields in the union for the 2019-06-04 20:53:35 +00:00
riscv riscv: Implement non-stub __vdso_gettc and __vdso_gettimekeep 2021-07-05 16:16:53 +01:00
rpc Remove references to timed(8) 2021-05-13 09:53:08 +02:00
secure Remove the SYMVER build option. 2020-04-30 22:08:40 +00:00
softfloat libc: use standard LF line endings, not CRLF 2021-04-03 16:20:07 -04:00
stdio fread: improve performance for unbuffered reads 2021-06-01 16:00:28 -05:00
stdlib libc/qsort: Don't allow interposing recursive calls 2021-02-18 14:02:48 +00:00
stdtime strptime: make %k and %l specifiers match their description in 2018-11-03 23:37:13 +00:00
string Change strmode argument type to mode_t 2021-06-29 17:38:45 -06:00
sys Pass the syscall number to capsicum permission-denied signals 2021-07-10 17:19:52 +01:00
tests resolv_test: Fix racy exit check, remove mutexes, and reduce output 2021-03-30 15:00:18 +01:00
uuid libc: further adoption of SPDX licensing ID tags. 2017-11-25 17:12:48 +00:00
x86 x86: switch vdso TSC timecounter to RDTSCP on AMD Zen CPUs 2021-01-21 14:55:31 +02:00
xdr typo: s/impelmentation/implementation/. 2020-02-07 15:14:29 +00:00
yp Increase the size of the send and receive buffers for YP client rpc 2019-09-16 06:42:01 +00:00
libc_nossp.ldscript
libc.ldscript
Makefile libc: include rtld.h into static implementations of rtld interface 2021-04-09 23:46:24 +03:00
Makefile.depend Update Makefile.depend files 2019-12-11 17:37:53 +00:00
Makefile.depend.options Update libssp paths in various Makefile.depend* files 2020-01-06 18:15:55 +00:00
Versions.def Create namespace for the symbols added during 13-CURRENT cycle. 2018-11-12 19:12:14 +00:00