[PATCH 1/2] lib: uuid: use RNG device if present

Torsten Duwe duwe at lst.de
Wed Dec 16 14:22:03 CET 2020


On Wed, 16 Dec 2020 11:41:16 +0100
matthias.bgg at kernel.org wrote:

> @@ -249,9 +250,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;
> +
> +#if defined(CONFIG_DM_RNG)
> +	ret = uclass_get_device(UCLASS_RNG, 0, &devp);
> +	if (ret) {
> +		ret = dm_rng_read(dev, randv, sizeof(randv));
		                     ^ ^
same as patch 2/2

> +		if (ret < 0)
> +			randv = 0;
> +	}
> +	if (randv)
> +		srand(randv);
> +	else
> +#endif
> +		srand(get_ticks() + rand());
>  
>  	/* Set all fields randomly */
>  	for (i = 0; i < 4; i++)



More information about the U-Boot mailing list