On Thu, Nov 05, 2020 at 12:56:55PM +0000, Andre Przywara wrote: > static inline bool __must_check arch_get_random_seed_int(unsigned int *v) > { > + struct arm_smccc_res res; > unsigned long val; > - bool ok = arch_get_random_seed_long(&val); > > - *v = val; > - return ok; > + if (cpus_have_const_cap(ARM64_HAS_RNG)) { > + if (arch_get_random_seed_long(&val)) { > + *v = val; > + return true; > + } > + return false; > + } It isn't obvious to me why we don't fall through to trying the SMCCC TRNG here if for some reason the v8.5-RNG didn't give us something. Definitely an obscure possibility but still...