Lines Matching refs:prng_data
101 static struct prng_data_s *prng_data; variable
166 ret = crypt_s390_kmc(KMC_PRNG, prng_data->prngws.parm_block, in prng_tdes_add_entropy()
170 memcpy(prng_data->prngws.parm_block, entropy, sizeof(entropy)); in prng_tdes_add_entropy()
186 *((__u64 *)prng_data->prngws.parm_block) ^= *((__u64 *)(buf+i)); in prng_tdes_seed()
192 prng_data->prngws.reseed_counter = 0; in prng_tdes_seed()
206 prng_data = kzalloc(datalen, GFP_KERNEL); in prng_tdes_instantiate()
207 if (!prng_data) { in prng_tdes_instantiate()
211 mutex_init(&prng_data->mutex); in prng_tdes_instantiate()
212 prng_data->buf = ((u8 *)prng_data) + sizeof(struct prng_data_s); in prng_tdes_instantiate()
213 memcpy(prng_data->prngws.parm_block, initial_parm_block, 32); in prng_tdes_instantiate()
226 kzfree(prng_data); in prng_tdes_deinstantiate()
377 prng_data = kzalloc(datalen, GFP_KERNEL); in prng_sha512_instantiate()
378 if (!prng_data) { in prng_sha512_instantiate()
382 mutex_init(&prng_data->mutex); in prng_sha512_instantiate()
383 prng_data->buf = ((u8 *)prng_data) + sizeof(struct prng_data_s); in prng_sha512_instantiate()
399 &prng_data->ppnows, NULL, 0, in prng_sha512_instantiate()
410 prng_data->prev = prng_data->buf + prng_chunk_size; in prng_sha512_instantiate()
412 &prng_data->ppnows, in prng_sha512_instantiate()
413 prng_data->prev, in prng_sha512_instantiate()
426 kfree(prng_data); in prng_sha512_instantiate()
434 kzfree(prng_data); in prng_sha512_deinstantiate()
450 &prng_data->ppnows, NULL, 0, in prng_sha512_reseed()
466 if (prng_data->ppnows.reseed_counter > prng_reseed_limit) { in prng_sha512_generate()
474 &prng_data->ppnows, buf, nbytes, in prng_sha512_generate()
483 if (!memcmp(prng_data->prev, buf, nbytes)) { in prng_sha512_generate()
487 memcpy(prng_data->prev, buf, nbytes); in prng_sha512_generate()
508 if (mutex_lock_interruptible(&prng_data->mutex)) in prng_tdes_read()
519 mutex_unlock(&prng_data->mutex); in prng_tdes_read()
522 if (mutex_lock_interruptible(&prng_data->mutex)) { in prng_tdes_read()
538 if (prng_data->prngws.reseed_counter > prng_reseed_limit) in prng_tdes_read()
542 *((unsigned long long *)prng_data->buf) = get_tod_clock_fast(); in prng_tdes_read()
557 tmp = crypt_s390_kmc(KMC_PRNG, prng_data->prngws.parm_block, in prng_tdes_read()
558 prng_data->buf, prng_data->buf, n); in prng_tdes_read()
564 prng_data->prngws.byte_counter += n; in prng_tdes_read()
565 prng_data->prngws.reseed_counter += n; in prng_tdes_read()
567 if (copy_to_user(ubuf, prng_data->buf, chunk)) in prng_tdes_read()
576 mutex_unlock(&prng_data->mutex); in prng_tdes_read()
593 if (mutex_lock_interruptible(&prng_data->mutex)) in prng_sha512_read()
604 mutex_unlock(&prng_data->mutex); in prng_sha512_read()
607 if (mutex_lock_interruptible(&prng_data->mutex)) { in prng_sha512_read()
613 if (prng_data->rest) { in prng_sha512_read()
615 p = prng_data->buf + prng_chunk_size - prng_data->rest; in prng_sha512_read()
616 n = (nbytes < prng_data->rest) ? in prng_sha512_read()
617 nbytes : prng_data->rest; in prng_sha512_read()
618 prng_data->rest -= n; in prng_sha512_read()
621 p = prng_data->buf; in prng_sha512_read()
629 prng_data->rest = prng_chunk_size - n; in prng_sha512_read()
632 prng_data->rest = 0; in prng_sha512_read()
645 mutex_unlock(&prng_data->mutex); in prng_sha512_read()
696 if (mutex_lock_interruptible(&prng_data->mutex)) in prng_counter_show()
699 counter = prng_data->ppnows.stream_bytes; in prng_counter_show()
701 counter = prng_data->prngws.byte_counter; in prng_counter_show()
702 mutex_unlock(&prng_data->mutex); in prng_counter_show()
734 if (mutex_lock_interruptible(&prng_data->mutex)) in prng_reseed_store()
737 mutex_unlock(&prng_data->mutex); in prng_reseed_store()