This is all fine and dandy for seeding a CSPRNG, but we still don&#x27;t actually have a CSPRNG in the C stdlib or glibc. getrandom(2) seems to target exclusively getting entropy for seeding, looking at the man page (&quot;These bytes can be used to seed userspace random number generators or for cryptographic purposes.&quot;). And of course, the syscall is very recent, introduced in Linux 3.17, coming after the kernels in Debian stable (jessie), which features 3.16, and CentOS&#x2F;RHEL7, which features 3.10.<p>OpenBSD and NetBSD feature a ChaCha-based arc4random; FreeBSD and libbsd still seem stuck with RC4-based arc4random[1]. An equivalent for that is sorely missing on Linux. &#x2F;dev&#x2F;urandom requires messing with file descriptors, which you may run out of and may require error handling, plus all kinds of security precautions to make sure you&#x27;re actually looking at the right &#x2F;dev&#x2F;urandom[2].<p>[1] <a href="https:&#x2F;&#x2F;bugs.freebsd.org&#x2F;bugzilla&#x2F;show_bug.cgi?id=182610" rel="nofollow">https:&#x2F;&#x2F;bugs.freebsd.org&#x2F;bugzilla&#x2F;show_bug.cgi?id=182610</a> and <a href="https:&#x2F;&#x2F;bugs.freedesktop.org&#x2F;show_bug.cgi?id=85827" rel="nofollow">https:&#x2F;&#x2F;bugs.freedesktop.org&#x2F;show_bug.cgi?id=85827</a><p>[2] <a href="http:&#x2F;&#x2F;insanecoding.blogspot.ch&#x2F;2014&#x2F;05&#x2F;a-good-idea-with-bad-usage-devurandom.html" rel="nofollow">http:&#x2F;&#x2F;insanecoding.blogspot.ch&#x2F;2014&#x2F;05&#x2F;a-good-idea-with-bad...</a>