Message265485
See https://lwn.net/Articles/606141/ for an explanation of the blocking behavior of getrandom(). This makes sense to me - before the pool has initialized, /dev/urandom will be readable but will return highly predictable data - ie: it should not be considered safe. In other words, I think that getrandom() offers a sensible API.
The only circumstances where we hit the EAGAIN in getrandom() should be when it's called extremely early in the boot process (as is the case for the systemd-cron generator script I mentioned earlier). I think this is safe enough; a more thorough approach would be to flag that the per-process hash seed (_Py_HashSecret) is predictable and shouldn't be used. |
|
Date |
User |
Action |
Args |
2016-05-13 19:35:12 | Colm Buckley | set | recipients:
+ Colm Buckley, lemburg, rhettinger, doko, vstinner, matejcik, skrah, socketpair, thomas-petazzoni |
2016-05-13 19:35:12 | Colm Buckley | set | messageid: <1463168112.82.0.965616713352.issue26839@psf.upfronthosting.co.za> |
2016-05-13 19:35:12 | Colm Buckley | link | issue26839 messages |
2016-05-13 19:35:12 | Colm Buckley | create | |
|