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