freebsd-dev/sys/conf
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
..
config.mk Reduce overhead for simple 'make -V' lookups by avoiding 'find sys/'. 2018-03-10 02:09:36 +00:00
dtb.mk Move sys/boot/fdt/dts to sys/dts and adjust scripts. 2017-11-14 21:03:57 +00:00
files Implement getrandom(2) and getentropy(3) 2018-03-21 01:15:45 +00:00
files.amd64 Rename assym.s to assym.inc 2018-03-20 17:58:51 +00:00
files.arm Revert r327250 as it broke the build for some armv6 kernel and all armv4/5 2017-12-28 07:31:14 +00:00
files.arm64 Add an acpi attachment to the pci_host_generic driver and have the ACPI 2018-03-07 10:47:27 +00:00
files.i386 Rename assym.s to assym.inc 2018-03-20 17:58:51 +00:00
files.mips Finally, fix Zstd kernel build on MIPS and RISC-V 2018-01-10 06:30:59 +00:00
files.powerpc Reverting r330925 for now 2018-03-15 06:19:45 +00:00
files.riscv Include ffsll() on riscv kernels. 2018-01-10 17:36:43 +00:00
files.sparc64
kern.mk Implement NO_WCAST_QUAL for gcc4.2 architectures 2018-03-12 05:41:27 +00:00
kern.opts.mk Add EFI to kernel options. 2018-03-17 17:18:29 +00:00
kern.post.mk Rename assym.s to assym.inc 2018-03-20 17:58:51 +00:00
kern.pre.mk Reduce overhead for simple 'make -V' lookups by avoiding 'find sys/'. 2018-03-10 02:09:36 +00:00
kmod_syms_prefix.awk
kmod_syms.awk
kmod.mk Rename assym.s to assym.inc 2018-03-20 17:58:51 +00:00
ldscript.amd64 amd64: Protect the kernel text, data, and BSS by setting the RW/NX bits 2018-03-06 14:28:37 +00:00
ldscript.arm
ldscript.arm64
ldscript.i386
ldscript.mips
ldscript.mips.cfe
ldscript.mips.mips64
ldscript.mips.octeon1
ldscript.powerpc
ldscript.powerpc64 Add support for 64-bit PowerPC kernels to be directly loaded by kexec, which 2017-12-29 20:30:10 +00:00
ldscript.powerpcspe
ldscript.riscv
ldscript.sparc64
Makefile.amd64
Makefile.arm Make kernel option KERNVIRTADDR optional, remove it from std.<platform> 2017-12-30 00:20:49 +00:00
Makefile.arm64
Makefile.i386
Makefile.mips
Makefile.powerpc
Makefile.riscv Support for v1.10 (latest) of RISC-V privilege specification. 2017-08-10 14:18:09 +00:00
Makefile.sparc64
makeLINT.mk Rework r325568 so all 'make LINT' targets work. 2017-11-13 20:49:08 +00:00
makeLINT.sed
newvers.sh Indent protection and some other oops from the prvious commits. 2017-11-20 19:56:11 +00:00
NOTES Create a sysctl kern.cam.{,a,n}da.X.invalidate 2018-03-14 17:53:37 +00:00
options Create a sysctl kern.cam.{,a,n}da.X.invalidate 2018-03-14 17:53:37 +00:00
options.amd64
options.arm Add a new ARM kernel option, LOCORE_MAP_MB, to control the size of the 2017-12-26 19:02:56 +00:00
options.arm64 rk3328: Add support for this SoC 2018-02-26 21:25:50 +00:00
options.i386
options.mips Remove CPU_HAVEFPU. 2017-10-18 17:23:16 +00:00
options.powerpc PowerNV: XICS support for PowerNV/OPAL 2018-01-16 06:24:19 +00:00
options.riscv
options.sparc64
systags.sh sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
WITHOUT_SOURCELESS
WITHOUT_SOURCELESS_HOST
WITHOUT_SOURCELESS_UCODE