Module Name: src Committed By: riastradh Date: Tue Aug 27 13:43:02 UTC 2024
Modified Files: src/distrib/sets/lists/debug: mi src/distrib/sets/lists/tests: mi src/lib/libc/gen: arc4random.c src/lib/libc/include: reentrant.h src/tests/lib/libc/gen: Makefile Added Files: src/lib/libc/include: arc4random.h src/tests/lib/libc/gen: t_arc4random.c Log Message: arc4random(3): Add automatic tests. This verifies that: - arc4random zeroes its state and reseeds itself on fork - arc4random reseeds itself on entropy consolidation (e.g., VM clone) - arc4random falls back to global state if it can't allocate local state because address space limits cause mmap to fail NOTE: This adds a new libc symbol __arc4random_global, but it's in the reserved namespace and only used by t_arc4random, so no libc minor bump. PR kern/58632: getentropy(2) and arc4random(3) do not reseed on VM fork To generate a diff of this commit: cvs rdiff -u -r1.445 -r1.446 src/distrib/sets/lists/debug/mi cvs rdiff -u -r1.1333 -r1.1334 src/distrib/sets/lists/tests/mi cvs rdiff -u -r1.36 -r1.37 src/lib/libc/gen/arc4random.c cvs rdiff -u -r0 -r1.1 src/lib/libc/include/arc4random.h cvs rdiff -u -r1.21 -r1.22 src/lib/libc/include/reentrant.h cvs rdiff -u -r1.55 -r1.56 src/tests/lib/libc/gen/Makefile cvs rdiff -u -r0 -r1.1 src/tests/lib/libc/gen/t_arc4random.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.