Messages in this thread | | | From | "Jason A. Donenfeld" <> | Date | Mon, 25 Jul 2022 11:37:23 +0200 | Subject | Re: [PATCH v3] random: handle archrandom with multiple longs |
| |
On Mon, Jul 25, 2022 at 11:36 AM David Laight <David.Laight@aculab.com> wrote: > > ... > > 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?
Does the above code do that?
| |