summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/crypto/api/kcf_random.c
diff options
context:
space:
mode:
authorRobert Mustacchi <rm@joyent.com>2014-12-26 02:46:52 +0000
committerRobert Mustacchi <rm@joyent.com>2015-02-15 00:36:58 +0000
commitf31c6fa33bcc9a608ce6f9ffd671ffc2b65a30ef (patch)
tree804c1aad78118d760e083f79a0f411894272488f /usr/src/uts/common/crypto/api/kcf_random.c
parentd34c3434a6ead24ec3e41daebf60ff85376c9e47 (diff)
downloadillumos-joyent-f31c6fa33bcc9a608ce6f9ffd671ffc2b65a30ef.tar.gz
OS-3845 want arc4random(3C) suite
OS-3846 want getentropy(3C) OS-3847 want getrandom(2) OS-3848 want explicit_bzero(3C) OS-3843 want MC_INHERIT_ZERO OS-3844 uuid_generate can leak its cache in edge conditions Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com> Reviewed by: Joshua M. Clulow <josh@sysmgr.org>
Diffstat (limited to 'usr/src/uts/common/crypto/api/kcf_random.c')
-rw-r--r--usr/src/uts/common/crypto/api/kcf_random.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/usr/src/uts/common/crypto/api/kcf_random.c b/usr/src/uts/common/crypto/api/kcf_random.c
index 7766d8ba7a..75072fb686 100644
--- a/usr/src/uts/common/crypto/api/kcf_random.c
+++ b/usr/src/uts/common/crypto/api/kcf_random.c
@@ -21,6 +21,7 @@
/*
* Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved.
* Copyright 2012 Nexenta Systems, Inc. All rights reserved.
+ * Copyright (c) 2015, Joyent, Inc.
*/
/*
@@ -1096,3 +1097,13 @@ random_get_bytes(uint8_t *ptr, size_t len)
return (0);
return (kcf_rnd_get_bytes(ptr, len, B_TRUE));
}
+
+int
+random_get_blocking_bytes(uint8_t *ptr, size_t len)
+{
+ ASSERT(!mutex_owned(&rndpool_lock));
+
+ if (len < 1)
+ return (0);
+ return (kcf_rnd_get_bytes(ptr, len, B_FALSE));
+}