summaryrefslogtreecommitdiff
path: root/include/crypto/drbg.h
diff options
context:
space:
mode:
authorStephan Mueller <smueller@chronox.de>2015-06-09 21:55:38 +0800
committerHerbert Xu <herbert@gondor.apana.org.au>2015-06-10 19:14:01 +0800
commit57225e6797885e31302e76fc5926c0bedd7e5ad4 (patch)
tree8cdb966886dcc891cb8c5dd8fd0a90a6f4437983 /include/crypto/drbg.h
parent205a525c334295e3cd4cc7755fd2c0398e3a787f (diff)
downloadlwn-57225e6797885e31302e76fc5926c0bedd7e5ad4.tar.gz
lwn-57225e6797885e31302e76fc5926c0bedd7e5ad4.zip
crypto: drbg - Use callback API for random readiness
The get_blocking_random_bytes API is broken because the wait can be arbitrarily long (potentially forever) so there is no safe way of calling it from within the kernel. This patch replaces it with the new callback API which does not have this problem. The patch also removes the entropy buffer registered with the DRBG handle in favor of stack variables to hold the seed data. Signed-off-by: Stephan Mueller <smueller@chronox.de> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'include/crypto/drbg.h')
-rw-r--r--include/crypto/drbg.h3
1 files changed, 1 insertions, 2 deletions
diff --git a/include/crypto/drbg.h b/include/crypto/drbg.h
index c3f208dc83ee..fad6450b99f9 100644
--- a/include/crypto/drbg.h
+++ b/include/crypto/drbg.h
@@ -121,12 +121,11 @@ struct drbg_state {
unsigned char *prev; /* FIPS 140-2 continuous test value */
#endif
struct work_struct seed_work; /* asynchronous seeding support */
- u8 *seed_buf; /* buffer holding the seed */
- size_t seed_buf_len;
struct crypto_rng *jent;
const struct drbg_state_ops *d_ops;
const struct drbg_core *core;
struct drbg_string test_data;
+ struct random_ready_callback random_ready;
};
static inline __u8 drbg_statelen(struct drbg_state *drbg)