Lines Matching refs:prng_data
102 static struct prng_data_s *prng_data; variable
167 ret = crypt_s390_kmc(KMC_PRNG, prng_data->prngws.parm_block, in prng_tdes_add_entropy()
171 memcpy(prng_data->prngws.parm_block, entropy, sizeof(entropy)); in prng_tdes_add_entropy()
187 *((__u64 *)prng_data->prngws.parm_block) ^= *((__u64 *)(buf+i)); in prng_tdes_seed()
193 prng_data->prngws.reseed_counter = 0; in prng_tdes_seed()
207 prng_data = kzalloc(datalen, GFP_KERNEL); in prng_tdes_instantiate()
208 if (!prng_data) { in prng_tdes_instantiate()
212 mutex_init(&prng_data->mutex); in prng_tdes_instantiate()
213 prng_data->buf = ((u8 *)prng_data) + sizeof(struct prng_data_s); in prng_tdes_instantiate()
214 memcpy(prng_data->prngws.parm_block, initial_parm_block, 32); in prng_tdes_instantiate()
227 kzfree(prng_data); in prng_tdes_deinstantiate()
378 prng_data = kzalloc(datalen, GFP_KERNEL); in prng_sha512_instantiate()
379 if (!prng_data) { in prng_sha512_instantiate()
383 mutex_init(&prng_data->mutex); in prng_sha512_instantiate()
384 prng_data->buf = ((u8 *)prng_data) + sizeof(struct prng_data_s); in prng_sha512_instantiate()
400 &prng_data->ppnows, NULL, 0, in prng_sha512_instantiate()
411 prng_data->prev = prng_data->buf + prng_chunk_size; in prng_sha512_instantiate()
413 &prng_data->ppnows, in prng_sha512_instantiate()
414 prng_data->prev, in prng_sha512_instantiate()
427 kfree(prng_data); in prng_sha512_instantiate()
435 kzfree(prng_data); in prng_sha512_deinstantiate()
451 &prng_data->ppnows, NULL, 0, in prng_sha512_reseed()
467 if (prng_data->ppnows.reseed_counter > prng_reseed_limit) { in prng_sha512_generate()
475 &prng_data->ppnows, buf, nbytes, in prng_sha512_generate()
484 if (!memcmp(prng_data->prev, buf, nbytes)) { in prng_sha512_generate()
488 memcpy(prng_data->prev, buf, nbytes); in prng_sha512_generate()
509 if (mutex_lock_interruptible(&prng_data->mutex)) in prng_tdes_read()
520 mutex_unlock(&prng_data->mutex); in prng_tdes_read()
523 if (mutex_lock_interruptible(&prng_data->mutex)) { in prng_tdes_read()
539 if (prng_data->prngws.reseed_counter > prng_reseed_limit) in prng_tdes_read()
543 *((unsigned long long *)prng_data->buf) = get_tod_clock_fast(); in prng_tdes_read()
558 tmp = crypt_s390_kmc(KMC_PRNG, prng_data->prngws.parm_block, in prng_tdes_read()
559 prng_data->buf, prng_data->buf, n); in prng_tdes_read()
565 prng_data->prngws.byte_counter += n; in prng_tdes_read()
566 prng_data->prngws.reseed_counter += n; in prng_tdes_read()
568 if (copy_to_user(ubuf, prng_data->buf, chunk)) in prng_tdes_read()
577 mutex_unlock(&prng_data->mutex); in prng_tdes_read()
594 if (mutex_lock_interruptible(&prng_data->mutex)) in prng_sha512_read()
605 mutex_unlock(&prng_data->mutex); in prng_sha512_read()
608 if (mutex_lock_interruptible(&prng_data->mutex)) { in prng_sha512_read()
614 if (prng_data->rest) { in prng_sha512_read()
616 p = prng_data->buf + prng_chunk_size - prng_data->rest; in prng_sha512_read()
617 n = (nbytes < prng_data->rest) ? in prng_sha512_read()
618 nbytes : prng_data->rest; in prng_sha512_read()
619 prng_data->rest -= n; in prng_sha512_read()
622 p = prng_data->buf; in prng_sha512_read()
630 prng_data->rest = prng_chunk_size - n; in prng_sha512_read()
633 prng_data->rest = 0; in prng_sha512_read()
646 mutex_unlock(&prng_data->mutex); in prng_sha512_read()
697 if (mutex_lock_interruptible(&prng_data->mutex)) in prng_counter_show()
700 counter = prng_data->ppnows.stream_bytes; in prng_counter_show()
702 counter = prng_data->prngws.byte_counter; in prng_counter_show()
703 mutex_unlock(&prng_data->mutex); in prng_counter_show()
735 if (mutex_lock_interruptible(&prng_data->mutex)) in prng_reseed_store()
738 mutex_unlock(&prng_data->mutex); in prng_reseed_store()