summaryrefslogtreecommitdiff
path: root/src/shared/pkcs11-util.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2020-11-28 15:24:44 +0100
committerLennart Poettering <lennart@poettering.net>2020-12-03 20:14:17 +0100
commit61bd7d1ed595a98e5fbfeb75b530539c4834f6a4 (patch)
tree301a589f11bbb843c6a920af7434f85d25115a3a /src/shared/pkcs11-util.c
parente267d76f732c6b7f3e7b02259ac5173e1781e267 (diff)
downloadsystemd-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.c7
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");