1
0
mirror of https://git.FreeBSD.org/src.git synced 2025-01-05 12:56:08 +00:00
freebsd/usr.bin/truss
Conrad Meyer e9ac27430c Implement getrandom(2) and getentropy(3)
The general idea here is to provide userspace programs with well-defined
sources of entropy, in a fashion that doesn't require opening a new file
descriptor (ulimits) or accessing paths (/dev/urandom may be restricted
by chroot or capsicum).

getrandom(2) is the more general API, and comes from the Linux world.
Since our urandom and random devices are identical, the GRND_RANDOM flag
is ignored.

getentropy(3) is added as a compatibility shim for the OpenBSD API.

truss(1) support is included.

Tests for both system calls are provided.  Coverage is believed to be at
least as comprehensive as LTP getrandom(2) test coverage.  Additionally,
instructions for running the LTP tests directly against FreeBSD are provided
in the "Test Plan" section of the Differential revision linked below.  (They
pass, of course.)

PR:		194204
Reported by:	David CARLIER <david.carlier AT hardenedbsd.org>
Discussed with:	cperciva, delphij, jhb, markj
Relnotes:	maybe
Differential Revision:	https://reviews.freebsd.org/D14500
2018-03-21 01:15:45 +00:00
..
aarch64-cloudabi32.c Make truss(8) work for 32-bit CloudABI executables on ARM64. 2017-12-20 13:13:10 +00:00
aarch64-cloudabi64.c
aarch64-freebsd.c
amd64-cloudabi32.c Make truss(8) work for i686-unknown-cloudabi binaries on FreeBSD/amd64. 2017-12-16 19:40:28 +00:00
amd64-cloudabi64.c
amd64-freebsd32.c spdx: initial adoption of licensing ID tags. 2017-11-18 14:26:50 +00:00
amd64-freebsd.c spdx: initial adoption of licensing ID tags. 2017-11-18 14:26:50 +00:00
amd64-linux32.c spdx: initial adoption of licensing ID tags. 2017-11-18 14:26:50 +00:00
amd64-linux.c spdx: initial adoption of licensing ID tags. 2017-11-18 14:26:50 +00:00
arm-freebsd.c spdx: initial adoption of licensing ID tags. 2017-11-18 14:26:50 +00:00
extern.h spdx: initial adoption of licensing ID tags. 2017-11-18 14:26:50 +00:00
i386-cloudabi32.c Make truss work for CloudABI executables on i386. 2017-12-21 09:21:40 +00:00
i386-freebsd.c spdx: initial adoption of licensing ID tags. 2017-11-18 14:26:50 +00:00
i386-linux.c spdx: initial adoption of licensing ID tags. 2017-11-18 14:26:50 +00:00
main.c spdx: initial adoption of licensing ID tags. 2017-11-18 14:26:50 +00:00
Makefile Make truss work for CloudABI executables on i386. 2017-12-21 09:21:40 +00:00
Makefile.depend
mips-freebsd.c spdx: initial adoption of licensing ID tags. 2017-11-18 14:26:50 +00:00
powerpc64-freebsd32.c
powerpc64-freebsd.c
powerpc-freebsd.c
riscv64-freebsd.c
setup.c spdx: initial adoption of licensing ID tags. 2017-11-18 14:26:50 +00:00
sparc64-freebsd.c spdx: initial adoption of licensing ID tags. 2017-11-18 14:26:50 +00:00
syscall.h Decode msghdr argument of sendmsg() and recvmsg(). 2018-01-15 20:39:42 +00:00
syscalls.c Implement getrandom(2) and getentropy(3) 2018-03-21 01:15:45 +00:00
truss.1
truss.h various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00