Commit 12c2a310 authored by Michael Walle's avatar Michael Walle Committed by Joe Hershberger
Browse files

net: make net_random_ethaddr() more random



The net_random_ethaddr() tries to get some entropy from different
startup times of a board. The seed is initialized with get_timer() which
has only a granularity of milliseconds. We can do better if we use
get_ticks() which returns the raw timer ticks. Using this we have a
higher chance of getting different values at startup.
Signed-off-by: default avatarMichael Walle <michael@walle.cc>
Reviewed-by: Bin Meng's avatarBin Meng <bmeng.cn@gmail.com>
Acked-by: Joe Hershberger's avatarJoe Hershberger <joe.hershberger@ni.com>
parent 5ccd657b
......@@ -816,7 +816,7 @@ static inline int is_valid_ethaddr(const u8 *addr)
static inline void net_random_ethaddr(uchar *addr)
{
int i;
unsigned int seed = get_timer(0);
unsigned int seed = get_ticks();
for (i = 0; i < 6; i++)
addr[i] = rand_r(&seed);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment