mirror_zfs/lib/libspl
Rob Norris 23d17f3587 libspl/random: add switch to force pseudo-random numbers for all calls
ztest wants to force all kernel random calls to use the pseudo-random
generator (/dev/urandom), to avoid depleting the system entropy pool
just for testing.

Up until the previous commit, it did this by switching the path that the
libzpool (now libspl) random API would use to get random data from; that
is, it took advantage of an implementation detail.

Now that that hole is closed to it, we need another method. This commit
introduces that; a simple API call to enable/disable "force pseudo"
mode.

Sponsored-by: https://despairlabs.com/sponsor/
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Rob Norris <robn@despairlabs.com>
Closes #17861
2025-11-12 10:04:30 -08:00
..
include libspl/random: add switch to force pseudo-random numbers for all calls 2025-11-12 10:04:30 -08:00
os Validate mountpoint on path-based unmount using statx 2025-07-08 22:10:00 -04:00
assert.c SPDX: license tags: CDDL-1.0 2025-03-13 17:56:27 -07:00
atomic.c SPDX: license tags: CDDL-1.0 2025-03-13 17:56:27 -07:00
backtrace.c Support using llvm-libunwind 2025-04-24 13:58:48 -04:00
condvar.c libspl: move condvar implementation from libzpool 2025-11-12 09:59:03 -08:00
cred.c zfs_context: move vn_dumpdir to libzpool 2025-11-12 10:01:28 -08:00
getexecname.c SPDX: license tags: CDDL-1.0 2025-03-13 17:56:27 -07:00
kmem.c libspl: move kmem implementation from libzpool 2025-11-12 10:00:21 -08:00
kstat.c libspl: move kstat implementation from libzpool 2025-11-12 10:00:06 -08:00
libspl_impl.h libspl: move random impl from libzpool 2025-11-12 10:01:39 -08:00
libspl.c libspl: hide global data objects 2025-11-12 10:04:22 -08:00
list.c SPDX: license tags: CDDL-1.0 2025-03-13 17:56:27 -07:00
Makefile.am libspl: move SID implementation from libzpool 2025-11-12 10:01:56 -08:00
mkdirp.c SPDX: license tags: CDDL-1.0 2025-03-13 17:56:27 -07:00
mutex.c libspl: move mutex implementation from libzpool 2025-11-12 09:58:44 -08:00
page.c SPDX: license tags: CDDL-1.0 2025-03-13 17:56:27 -07:00
procfs_list.c libspl: move procfs_list implementation from libzpool 2025-11-12 10:00:13 -08:00
random.c libspl/random: add switch to force pseudo-random numbers for all calls 2025-11-12 10:04:30 -08:00
rwlock.c libspl: move rwlock implementation from libzpool 2025-11-12 09:58:55 -08:00
sid.c libspl: move SID implementation from libzpool 2025-11-12 10:01:56 -08:00
strlcat.c SPDX: license tags: CDDL-1.0 2025-03-13 17:56:27 -07:00
strlcpy.c SPDX: license tags: CDDL-1.0 2025-03-13 17:56:27 -07:00
taskq.c libspl: hide global data objects 2025-11-12 10:04:22 -08:00
thread.c libspl: hide global data objects 2025-11-12 10:04:22 -08:00
timestamp.c SPDX: license tags: CDDL-1.0 2025-03-13 17:56:27 -07:00
tunables.c libspl: add API for manipulating tunables 2025-07-15 15:46:58 -07:00