Re: [PATCH] s390/archrandom: remove CPACF trng invocations in interrupt context

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2022-07-12 14:27, Jason A. Donenfeld wrote:
Hi Harald,

On Tue, Jul 12, 2022 at 02:09:35PM +0200, Harald Freudenberger wrote:
> You've gone through the troubles of confirming experimentally what
> in_task() does, but that doesn't answer *why* it should be disallowed
> variously in each one of these contexts.

I think, I showed this. The only real occurrences remaining for the
arch_get_random_seed_long() call is within softirq context when the
network layer tries to allocate some skb buffers. My personal feeling
about this is that it does not hurt - but I asked our network guys
and their feedback is clear: no way - every delay there may cause
high bandwidth traffic to stumble and this is to be absolutely avoided.
However, they can't give me any measurements.

So yes, the intention is now with checking for in_task() to prevent
the trng call in hard and soft interrupt context. But still I'd like
to meet your condition to provide good random at kernel startup.

That's too bad, but okay.

Final question: do you see any of the in_task() vs in_whatever()
semantics changing if arch_get_random_words{,_seed}() is ever
implemented, which would reduce the current multitude of calls to the
trng to a single call?

Jason

Hm, no, I can't see a way to provide trng random data in any whatever
interrupt context for the next future. The only enabler would be to
use a buffer ... I started to get in contact with our hardware guys
to make the trng data internally buffered and this the invocation
could be in no time give back random data. But this may be a
hardware development thing for the next machine generation.

Thanks Jason for your work

Regards
Harald Freudenberger



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Kernel Development]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Info]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Linux Media]     [Device Mapper]

  Powered by Linux