Re: [PATCH v1 1/1] s390/arch_random: Buffer true random data

Jason A. Donenfeld
2022-07-05T18:19:24Z

Hey Holger,

On Tue, Jul 05, 2022 at 07:47:37PM +0200, Holger Dengler wrote:
> A trng call runs for minimal ~20-190us for 32 bytes. 20us on newer
> machine generations, 190us on older ones. These are not 100% exact
> measurements, but the dimension should be correct.

Holy smokes. Yea, okay, I see what you're saying. So indeed it sounds
like the `!in_hardirq()` addition would be a good idea. Let's do that.

Also, I noticed that the TRNG has a hwrng driver. That means the RNG
will still be getting continuous input from it in a kthread, not an
interrupt handler, so from a crypto PoV, we're not really losing /that/
much by adding the `!in_hardirq()` clause. So all and all, that seems
like the simplest solution without too big of a downside.

Jason