From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matthias Brugger Date: Wed, 16 Dec 2020 16:56:28 +0100 Subject: [PATCH 2/2] net: Use NDRNG device in srand_mac() In-Reply-To: <20201216142014.43a583c4@blackhole.lan> References: <20201216104117.10836-1-matthias.bgg@kernel.org> <20201216104117.10836-3-matthias.bgg@kernel.org> <20201216142014.43a583c4@blackhole.lan> Message-ID: <4cf5c298-e417-602a-96b8-71dcd11e4807@gmail.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On 16/12/2020 14:20, Torsten Duwe wrote: > On Wed, 16 Dec 2020 11:41:17 +0100 > matthias.bgg at kernel.org wrote: > >> From: Matthias Brugger >> >> When calling srand_mac we use a weak seed dependent on the >> mac address. If present, use a RNG device instead to incerase entropy. >> >> Signed-off-by: Matthias Brugger >> >> --- >> >> net/net_rand.h | 18 +++++++++++++++++- >> 1 file changed, 17 insertions(+), 1 deletion(-) >> >> diff --git a/net/net_rand.h b/net/net_rand.h >> index 4bf9bd817e..600c3d825e 100644 >> --- a/net/net_rand.h >> +++ b/net/net_rand.h >> @@ -10,6 +10,7 @@ >> #define __NET_RAND_H__ >> >> #include >> +#include >> >> /* >> * Return a seed for the PRNG derived from the eth0 MAC address. >> @@ -37,7 +38,22 @@ static inline unsigned int seed_mac(void) >> */ >> static inline void srand_mac(void) >> { >> - srand(seed_mac()); >> +#if defined(CONFIG_DM_RNG) >> + int ret; >> + struct udevice *devp; >> + u32 randv = 0; >> + >> + ret = uclass_get_device(UCLASS_RNG, 0, &devp); >> + if (ret) { >> + ret = dm_rng_read(dev, randv, sizeof(randv)); > Haven't tested this (yet), but shouldn't this be > ret = dm_rng_read(devp, &randv, sizeof(randv)); > ^ ^ ? Ups, yes you are right. I'll send a v2. Regards, Matthias