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

mbrugger matthias.bgg at kernel.org
Fri Dec 18 10:10:33 CET 2020


On Fri, Dec 18, 2020 at 09:37:28AM +0100, Torsten Duwe wrote:
> 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.

Sounds good, I'll send a new version addressing both issues.
Thanks for the review.

Matthias


More information about the U-Boot mailing list