s390/crypto: use TRNG for seeding/reseeding
authorHarald Freudenberger <freude@linux.ibm.com>
Tue, 16 Apr 2019 11:41:26 +0000 (13:41 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Thu, 25 Apr 2019 13:34:09 +0000 (15:34 +0200)
commit769f020b6c9283d61c59de3559375ec7e961a424
treeef30000786f61ce3e0fc434d3ffa82a6ac7769b8
parent23d1aee92b42587e696ab48a9da774819ecd3718
s390/crypto: use TRNG for seeding/reseeding

With the z14 machine there came also a CPACF hardware extension
which provides a True Random Number Generator. This TRNG can
be accessed with a new subfunction code within the CPACF prno
instruction and provides random data with very high entropy.

So if there is a TRNG available, let's use it for initial seeding
and reseeding instead of the current implementation which tries
to generate entropy based on stckf (store clock fast) jitters.

For details about the amount of data needed and pulled for
seeding and reseeding there can be explaining comments in the
code found.

Signed-off-by: Harald Freudenberger <freude@linux.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
arch/s390/crypto/prng.c