The function of rand() is a weak random number generator.
Use the DPDK rte_rand() instead.

Note: this doesn't matter for real security, since most drivers
use a fixed RSS default key.

Signed-off-by: Stephen Hemminger <step...@networkplumber.org>
---
 drivers/net/qede/qede_ethdev.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/qede/qede_ethdev.c b/drivers/net/qede/qede_ethdev.c
index 254548d40638..bee9fa4f60a1 100644
--- a/drivers/net/qede/qede_ethdev.c
+++ b/drivers/net/qede/qede_ethdev.c
@@ -7,6 +7,7 @@
 #include "qede_ethdev.h"
 #include <rte_string_fns.h>
 #include <rte_alarm.h>
+#include <rte_random.h>
 #include <rte_kvargs.h>
 
 static const struct qed_eth_ops *qed_ops;
@@ -1040,9 +1041,8 @@ static void qede_prandom_bytes(uint32_t *buff)
 {
        uint8_t i;
 
-       srand((unsigned int)time(NULL));
        for (i = 0; i < ECORE_RSS_KEY_SIZE; i++)
-               buff[i] = rand();
+               buff[i] = rte_rand();
 }
 
 int qede_config_rss(struct rte_eth_dev *eth_dev)
-- 
2.43.0

Reply via email to