[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <10561a841a7342c882aabb0fbdbfc762@AcuMS.aculab.com>
Date: Mon, 25 Jul 2022 09:36:34 +0000
From: David Laight <David.Laight@...LAB.COM>
To: "'Jason A. Donenfeld'" <Jason@...c4.com>,
Borislav Petkov <bp@...e.de>
CC: "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>,
"linuxppc-dev@...ts.ozlabs.org" <linuxppc-dev@...ts.ozlabs.org>,
"linux-s390@...r.kernel.org" <linux-s390@...r.kernel.org>,
"x86@...nel.org" <x86@...nel.org>, Will Deacon <will@...nel.org>,
Alexander Gordeev <agordeev@...ux.ibm.com>,
"Thomas Gleixner" <tglx@...utronix.de>,
"H . Peter Anvin" <hpa@...or.com>,
"Catalin Marinas" <catalin.marinas@....com>,
Heiko Carstens <hca@...ux.ibm.com>,
Johannes Berg <johannes@...solutions.net>,
Mark Rutland <mark.rutland@....com>,
Harald Freudenberger <freude@...ux.ibm.com>,
"Michael Ellerman" <mpe@...erman.id.au>
Subject: RE: [PATCH v3] random: handle archrandom with multiple longs
...
> More directly, the reason we don't want to error is because the use case
> has fallbacks meant to handle errors. The cascade looks like this
> (quoting from the other email):
>
> unsigned long array[whatever];
> for (i = 0; i < ARRAY_SIZE(array);) {
> longs = arch_get_random_seed_longs(&array[i], ARRAY_SIZE(array) - i);
> if (longs) {
> i += longs;
> continue;
> }
> longs = arch_get_random_longs(&array[i], ARRAY_SIZE(array) - i);
> if (longs) {
> i += longs;
> continue;
> }
> array[i++] = random_get_entropy();
> }
>
> It tries to get the best that it can as much as it can, but isn't going
> to block or do anything too nuts for that.
Do you really want to retry the earlier calls that returned no data?
David
-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)
Powered by blists - more mailing lists