[PATCH 2/2] net: Use NDRNG device in srand_mac()
Matthias Brugger
matthias.bgg at gmail.com
Wed Dec 16 16:56:28 CET 2020
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 <mbrugger at suse.com>
>>
>> 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 <mbrugger at suse.com>
>>
>> ---
>>
>> 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 <common.h>
>> +#include <rng.h>
>>
>> /*
>> * 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
More information about the U-Boot
mailing list