Re: [PATCH] powerpc/rng: wire up during setup_arch

From: Christophe Leroy
Date: Sat Jun 11 2022 - 05:23:16 EST




Le 11/06/2022 à 11:20, Jason A. Donenfeld a écrit :
> Hi Christophe,
>
> On Sat, Jun 11, 2022 at 09:16:24AM +0000, Christophe Leroy wrote:
>> Le 11/06/2022 à 10:11, Jason A. Donenfeld a écrit :
>>> The platform's RNG must be available before random_init() in order to be
>>> useful for initial seeding, which in turn means that it needs to be
>>> called from setup_arch(), rather than from an init call. Fortunately,
>>> each platform already has a setup_arch function pointer, which means
>>> it's easy to wire this up for each of the three platforms that have an
>>> RNG. This commit also removes some noisy log messages that don't add
>>> much.
>>
>> Can't we use one of the machine initcalls for that ?
>> Like machine_early_initcall() or machine_arch_initcall() ?
>
> No, unfortunately. I tried this, and it's still too late. This must be
> done in setup_arch().

Ok

>
>> Today it is using machine_subsys_initcall() and you didn't remove it.
>> It means rng_init() will be called twice. Is that ok ?
>
> I did remove the calls to machine_subsys_initcall(). I just double
> checked:
>
> zx2c4@thinkpad ~/Projects/random-linux/arch/powerpc $ rg machine_subsys_initcall platforms/*/rng.c
> zx2c4@thinkpad ~/Projects/random-linux/arch/powerpc $

Oops, I overlooked it, sorry.

Christophe