Commit Graph

5 Commits

Author SHA1 Message Date
Krister Johansen
3b20802be7 rngd exits after being stopped and resumed
Linux has documented but somewhat unusual behavior around
SIGSTOP/SIGCONT and certain syscalls, of which epoll_wait(2) is one.  In
this particular case, rngd exited unexpectedly after getting ptrace'd
mid-epoll_wait.  Fix this by handling EINTR from this syscall, and
continuing to add entropy and wait.

Signed-off-by: Krister Johansen <krister.johansen@oracle.com>
2019-06-04 13:22:50 -07:00
Justin Cormack
8b2327b0e2 Support rngd on arm64
Although it does not do anything, as there is no CPU rng on arm64 at present.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-08-04 14:01:18 +01:00
Justin Cormack
f768ac4bfd Add flags to disable the different random sources
This makes testing the different options much easier.

Signed-off-by: Justin Cormack <justin@specialbusservice.com>
2017-08-02 20:55:36 +01:00
Justin Cormack
63798997f6 Convert rngd to use x/sys/unix
Epoll in `syscall` package does not work on arm64. We do not have
arm64 yet here, but we will when we add tpm support etc.

Signed-off-by: Justin Cormack <justin@specialbusservice.com>
2017-08-02 20:09:43 +01:00
Justin Cormack
e0bc13451f Replace rngd with a Go version
Only supports the use cases we currently need, currently support
for using Intel hardware rng to initialise and add entropy.

Supports oneshot and service mode. Call as `rngd -1` for one shot
mode.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-07-31 20:16:26 +01:00