mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 19:21:31 -04:00
crypto: rng - Introduce crypto_rng_generate
This patch adds the new top-level function crypto_rng_generate which generates random numbers with additional input. It also extends the mid-level rng_gen_random function to take additional data as input. Signed-off-by: Herbert Xu <[email protected]>
This commit is contained in:
parent
d0e83059a6
commit
ff030b099a
2 changed files with 32 additions and 4 deletions
|
|
@ -36,6 +36,12 @@ static inline struct crypto_rng *__crypto_rng_cast(struct crypto_tfm *tfm)
|
|||
return container_of(tfm, struct crypto_rng, base);
|
||||
}
|
||||
|
||||
static int generate(struct crypto_rng *tfm, const u8 *src, unsigned int slen,
|
||||
u8 *dst, unsigned int dlen)
|
||||
{
|
||||
return crypto_rng_alg(tfm)->rng_make_random(tfm, dst, dlen);
|
||||
}
|
||||
|
||||
static int rngapi_reset(struct crypto_rng *tfm, u8 *seed, unsigned int slen)
|
||||
{
|
||||
u8 *buf = NULL;
|
||||
|
|
@ -59,9 +65,8 @@ static int rngapi_reset(struct crypto_rng *tfm, u8 *seed, unsigned int slen)
|
|||
static int crypto_rng_init_tfm(struct crypto_tfm *tfm)
|
||||
{
|
||||
struct crypto_rng *rng = __crypto_rng_cast(tfm);
|
||||
struct rng_alg *alg = &tfm->__crt_alg->cra_rng;
|
||||
|
||||
rng->generate = alg->rng_make_random;
|
||||
rng->generate = generate;
|
||||
rng->seed = rngapi_reset;
|
||||
|
||||
return 0;
|
||||
|
|
|
|||
Loading…
Reference in a new issue