[PATCH v2 1/2] lib: uuid: use RNG device if present
Torsten Duwe
duwe at lst.de
Fri Dec 18 09:37:28 CET 2020
On Wed, 16 Dec 2020 17:28:06 +0100
matthias.bgg at kernel.org wrote:
> @@ -249,9 +251,22 @@ void gen_rand_uuid(unsigned char *uuid_bin)
> {
> u32 ptr[4];
> struct uuid *uuid = (struct uuid *)ptr;
> - int i;
> -
> - srand(get_ticks() + rand());
> + int i, ret;
> + struct udevice *devp;
> + u8 randv = 0;
^^
Only 1 byte? The UUID could use some more, and, having a HW RNG, it
doesn't hurt to seed it with more entropy here. I suggest using u32 as
well.
> +
> +#if defined(CONFIG_DM_RNG)
> + ret = uclass_get_device(UCLASS_RNG, 0, &devp);
> + if (ret) {
> + ret = dm_rng_read(devp, &randv, sizeof(randv));
> + if (ret < 0)
> + randv = 0;
> + }
See my reply to the cover letter. I'd suggest to wrap this with
if (IS_ENABLED(CONFIG_DM_RNG))
instead, likewise for the MAC.
Torsten
More information about the U-Boot
mailing list