freebsd-skq/sys/libkern
cem a212d0b2e8 random(9): Deprecate random(9), remove meaningless srandom(9)
srandom(9) is meaningless on SMP systems or any system with, say,
interrupts.  One could never rely on random(9) to produce a reproducible
sequence of outputs on the basis of a specific srandom() seed because the
global state was shared by all kernel contexts.  As such, removing it is
literally indistinguishable to random(9) consumers (as compared with
retaining it).

Mark random(9) as deprecated and slated for quick removal.  This is not to
say we intend to remove all fast, non-cryptographic PRNG(s) in the kernel.
It/they just won't be random(9), as it exists today, in either name or
implementation.

Before random(9) is removed, a replacement will be provided and in-tree
consumers will be converted.

Note that despite the name, the random(9) interface does not bear any
resemblance to random(3).  Instead, it is the same crummy 1988 Park-Miller
LCG used in libc rand(3).
2019-12-26 19:41:09 +00:00
..
arm
arm64
x86 Separate kernel crc32() implementation to its own header (gsb_crc32.h) and 2019-06-17 19:49:08 +00:00
arc4random.c random(4): depessimize arc4random 2019-05-12 06:32:46 +00:00
ashldi3.c
ashrdi3.c
asprintf.c
bcd.c
bcmp.c Use __builtin for various mem* and b* (e.g. bzero) routines. 2018-06-02 18:03:35 +00:00
bcopy.c Simplify things a little 2018-05-10 02:31:48 +00:00
bsearch.c
cmpdi2.c
divdi3.c
explicit_bzero.c
ffs.c
ffsl.c
ffsll.c
fls.c
flsl.c
flsll.c
fnmatch.c
gsb_crc32.c Rename the macros to extract a single arm64 ID field. 2019-10-30 10:06:57 +00:00
iconv_converter_if.m
iconv_ucs.c
iconv_xlat16.c
iconv_xlat.c
iconv.c iconv uses strlen directly on user supplied memory 2018-02-26 18:23:36 +00:00
inet_aton.c
inet_ntoa.c
inet_ntop.c
inet_pton.c Remove pre-FreeBSD 7.0 compatibility. 2019-07-19 18:38:47 +00:00
jenkins_hash.c
lshrdi3.c
mcount.c mcount: tidy up ANSIfication 2018-10-20 22:39:35 +00:00
memcchr.c
memchr.c
memcmp.c Use __builtin for various mem* and b* (e.g. bzero) routines. 2018-06-02 18:03:35 +00:00
memmem.c
memset.c Use __builtin for various mem* and b* (e.g. bzero) routines. 2018-06-02 18:03:35 +00:00
moddi3.c
murmur3_32.c
qdivrem.c
qsort_r.c
qsort.c
quad.h
random.c random(9): Deprecate random(9), remove meaningless srandom(9) 2019-12-26 19:41:09 +00:00
scanc.c
strcasecmp.c
strcat.c
strchr.c str(r)chr: Replace union abuse with __DECONST 2018-06-04 18:47:14 +00:00
strchrnul.c libkern: Implement strchrnul(3) 2019-08-19 22:53:05 +00:00
strcmp.c Port the NetBSD KCSAN runtime to FreeBSD. 2019-11-21 11:22:08 +00:00
strcpy.c Port the NetBSD KCSAN runtime to FreeBSD. 2019-11-21 11:22:08 +00:00
strcspn.c
strdup.c Add non-sleepable strdup variant strdup_flags 2019-02-20 20:48:10 +00:00
strlcat.c
strlcpy.c Sync strlcpy with userland version, again 2018-06-21 17:35:13 +00:00
strlen.c Port the NetBSD KCSAN runtime to FreeBSD. 2019-11-21 11:22:08 +00:00
strncat.c
strncmp.c
strncpy.c
strndup.c
strnlen.c
strrchr.c str(r)chr: Replace union abuse with __DECONST 2018-06-04 18:47:14 +00:00
strsep.c
strspn.c
strstr.c
strtol.c
strtoq.c
strtoul.c
strtouq.c
strvalid.c
timingsafe_bcmp.c
ucmpdi2.c
udivdi3.c
umoddi3.c