Slicing in userland: Interactions with malloc and DNS In OpenBSD userland, the primary perturber of the stream is the malloc(3) subsystem 'otto-malloc', this is no longer pkh malloc malloc() and free() call arc4random very often to make decisions about behaviour for padding, recycling, and page layout. This cuts the libc random stream up in (recursively) perturbed fashion. DNS and ld.so also take slices of random data