Lines Matching refs:prng_data

105 static struct prng_data_s *prng_data;  variable
193 cpacf_kmc(CPACF_KMC_PRNG, prng_data->prngws.parm_block, in prng_tdes_add_entropy()
196 memcpy(prng_data->prngws.parm_block, entropy, sizeof(entropy)); in prng_tdes_add_entropy()
212 *((__u64 *)prng_data->prngws.parm_block) ^= *((__u64 *)(buf+i)); in prng_tdes_seed()
218 prng_data->prngws.reseed_counter = 0; in prng_tdes_seed()
232 prng_data = kzalloc(datalen, GFP_KERNEL); in prng_tdes_instantiate()
233 if (!prng_data) { in prng_tdes_instantiate()
237 mutex_init(&prng_data->mutex); in prng_tdes_instantiate()
238 prng_data->buf = ((u8 *)prng_data) + sizeof(struct prng_data_s); in prng_tdes_instantiate()
239 memcpy(prng_data->prngws.parm_block, initial_parm_block, 32); in prng_tdes_instantiate()
252 kfree_sensitive(prng_data); in prng_tdes_deinstantiate()
381 prng_data = kzalloc(datalen, GFP_KERNEL); in prng_sha512_instantiate()
382 if (!prng_data) { in prng_sha512_instantiate()
386 mutex_init(&prng_data->mutex); in prng_sha512_instantiate()
387 prng_data->buf = ((u8 *)prng_data) + sizeof(struct prng_data_s); in prng_sha512_instantiate()
422 &prng_data->prnows, NULL, 0, seed, seedlen); in prng_sha512_instantiate()
428 prng_data->prev = prng_data->buf + prng_chunk_size; in prng_sha512_instantiate()
430 &prng_data->prnows, in prng_sha512_instantiate()
431 prng_data->prev, prng_chunk_size, NULL, 0); in prng_sha512_instantiate()
437 kfree(prng_data); in prng_sha512_instantiate()
445 kfree_sensitive(prng_data); in prng_sha512_deinstantiate()
469 &prng_data->prnows, NULL, 0, seed, seedlen); in prng_sha512_reseed()
481 if (prng_data->prnows.reseed_counter > prng_reseed_limit) { in prng_sha512_generate()
489 &prng_data->prnows, buf, nbytes, NULL, 0); in prng_sha512_generate()
493 if (!memcmp(prng_data->prev, buf, nbytes)) { in prng_sha512_generate()
497 memcpy(prng_data->prev, buf, nbytes); in prng_sha512_generate()
518 if (mutex_lock_interruptible(&prng_data->mutex)) in prng_tdes_read()
529 mutex_unlock(&prng_data->mutex); in prng_tdes_read()
532 if (mutex_lock_interruptible(&prng_data->mutex)) { in prng_tdes_read()
548 if (prng_data->prngws.reseed_counter > prng_reseed_limit) in prng_tdes_read()
552 *((unsigned long long *)prng_data->buf) = get_tod_clock_fast(); in prng_tdes_read()
567 cpacf_kmc(CPACF_KMC_PRNG, prng_data->prngws.parm_block, in prng_tdes_read()
568 prng_data->buf, prng_data->buf, n); in prng_tdes_read()
570 prng_data->prngws.byte_counter += n; in prng_tdes_read()
571 prng_data->prngws.reseed_counter += n; in prng_tdes_read()
573 if (copy_to_user(ubuf, prng_data->buf, chunk)) { in prng_tdes_read()
584 mutex_unlock(&prng_data->mutex); in prng_tdes_read()
601 if (mutex_lock_interruptible(&prng_data->mutex)) in prng_sha512_read()
612 mutex_unlock(&prng_data->mutex); in prng_sha512_read()
615 if (mutex_lock_interruptible(&prng_data->mutex)) { in prng_sha512_read()
621 if (prng_data->rest) { in prng_sha512_read()
623 p = prng_data->buf + prng_chunk_size - prng_data->rest; in prng_sha512_read()
624 n = (nbytes < prng_data->rest) ? in prng_sha512_read()
625 nbytes : prng_data->rest; in prng_sha512_read()
626 prng_data->rest -= n; in prng_sha512_read()
629 p = prng_data->buf; in prng_sha512_read()
637 prng_data->rest = prng_chunk_size - n; in prng_sha512_read()
640 prng_data->rest = 0; in prng_sha512_read()
654 mutex_unlock(&prng_data->mutex); in prng_sha512_read()
693 if (mutex_lock_interruptible(&prng_data->mutex)) in prng_counter_show()
696 counter = prng_data->prnows.stream_bytes; in prng_counter_show()
698 counter = prng_data->prngws.byte_counter; in prng_counter_show()
699 mutex_unlock(&prng_data->mutex); in prng_counter_show()
731 if (mutex_lock_interruptible(&prng_data->mutex)) in prng_reseed_store()
734 mutex_unlock(&prng_data->mutex); in prng_reseed_store()