Thread (3 messages) 3 messages, 2 authors, 2003-09-22

Re: [PATCH] (4/4) use system get_random_bytes in hdlcdrv

From: Stephen Hemminger <hidden>
Date: 2003-09-22 16:50:38
Also in: linux-hams

On Fri, 19 Sep 2003 23:46:42 +0200
Andi Kleen [off-list ref] wrote:
quoted
 void hdlcdrv_arbitrate(struct net_device *dev, struct hdlcdrv_state *s)
 {
+	u8 prand;
+
 	if (!s || s->magic != HDLCDRV_MAGIC || s->hdlctx.ptt || !s->skb) 
 		return;
 	if (s->ch_params.fulldup) {
@@ -459,7 +452,9 @@
 	if ((--s->hdlctx.slotcnt) > 0)
 		return;
 	s->hdlctx.slotcnt = s->ch_params.slottime;
-	if ((random_num() % 256) > s->ch_params.ppersist)
+
+	get_random_bytes(&prand, sizeof(prand));
+	if (prand > s->ch_params.ppersist)
The "hard" random numbers generated by get_random_bytes
are a precious scarce resource (many systems don't generate them very often).
They should only be used as seed or when it is needed for security, otherwise
users who really need them risk blocking on /dev/random.
Especially if that function is called often it would be a bad idea.
Well go ahead an leave it out.  It gets called once, and isn't important.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help