On Thu, 5 Nov 2020 at 15:03, Mark Rutland <mark.rutland@xxxxxxx> wrote: > > On Thu, Nov 05, 2020 at 01:41:42PM +0000, Mark Brown wrote: > > 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... > > I think it's better to assume that if we have a HW RNG and it's not > giving us entropy, it's not worthwhile trapping to the host, which might > encounter the exact same issue. > > I'd rather we have one RNG source that we trust works, and use that > exclusively. > > That said, I'm not sure it's great to plumb this under the > arch_get_random*() interfaces, e.g. given this measn that > add_interrupt_randomness() will end up trapping to the host all the time > when it calls arch_get_random_seed_long(). > As it turns out, add_interrupt_randomness() isn't actually used on ARM. > Is there an existing interface for "slow" runtime entropy that we can > plumb this into instead? > > Thanks, > Mark. _______________________________________________ kvmarm mailing list kvmarm@xxxxxxxxxxxxxxxxxxxxx https://lists.cs.columbia.edu/mailman/listinfo/kvmarm