diff options
author | Lennart Poettering <lennart@poettering.net> | 2020-11-28 15:24:44 +0100 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2020-12-03 20:14:17 +0100 |
commit | 61bd7d1ed595a98e5fbfeb75b530539c4834f6a4 (patch) | |
tree | 301a589f11bbb843c6a920af7434f85d25115a3a /src/shared/pkcs11-util.c | |
parent | e267d76f732c6b7f3e7b02259ac5173e1781e267 (diff) | |
download | systemd-61bd7d1ed595a98e5fbfeb75b530539c4834f6a4.tar.gz |
random-util: open /dev/urandom implicitly in random_write_entropy() if needed
Diffstat (limited to 'src/shared/pkcs11-util.c')
-rw-r--r-- | src/shared/pkcs11-util.c | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/src/shared/pkcs11-util.c b/src/shared/pkcs11-util.c index e74f0be260..078a86ec32 100644 --- a/src/shared/pkcs11-util.c +++ b/src/shared/pkcs11-util.c @@ -671,7 +671,6 @@ int pkcs11_token_acquire_rng( CK_SESSION_HANDLE session) { _cleanup_free_ void *buffer = NULL; - _cleanup_close_ int fd = -1; size_t rps; CK_RV rv; int r; @@ -696,11 +695,7 @@ int pkcs11_token_acquire_rng( return log_debug_errno(SYNTHETIC_ERRNO(EOPNOTSUPP), "Failed to generate RNG data on security token: %s", p11_kit_strerror(rv)); - fd = open("/dev/urandom", O_WRONLY|O_CLOEXEC|O_NOCTTY); - if (fd < 0) - return log_debug_errno(errno, "Failed to open /dev/urandom for writing: %m"); - - r = loop_write(fd, buffer, rps, false); + r = random_write_entropy(-1, buffer, rps, false); if (r < 0) return log_debug_errno(r, "Failed to write PKCS#11 acquired random data to /dev/urandom: %m"); |