diff --git a/drivers/virtio/virtio-net.c b/drivers/virtio/virtio-net.c index 1c3909937b8..b289fc7dc87 100644 --- a/drivers/virtio/virtio-net.c +++ b/drivers/virtio/virtio-net.c @@ -28,6 +28,7 @@ #include #include #include +#include #include #include @@ -624,20 +625,8 @@ static void virtio_net_set_macaddr(FAR struct virtio_net_priv_s *priv) * conflicts with something else on the network. */ - srand(time(NULL) + -#ifdef CONFIG_NETDEV_IFINDEX - dev->d_ifindex -#else - (uintptr_t)dev % 256 -#endif - ); - mac[0] = 0x42; - mac[1] = rand() % 256; - mac[2] = rand() % 256; - mac[3] = rand() % 256; - mac[4] = rand() % 256; - mac[5] = rand() % 256; + arc4random_buf(mac + 1, 5); } }