From mboxrd@z Thu Jan 1 00:00:00 1970 From: mbrugger Date: Fri, 18 Dec 2020 10:10:33 +0100 Subject: [PATCH v2 1/2] lib: uuid: use RNG device if present In-Reply-To: <20201218093719.6a7caf50@blackhole> References: <20201216162807.10685-1-matthias.bgg@kernel.org> <20201216162807.10685-2-matthias.bgg@kernel.org> <20201218093719.6a7caf50@blackhole> Message-ID: List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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