From: Andi Kleen (nnzpgiao.owtpcyfeer@mch.com)
Date: Sat Sep 20 2003 - 00:46:42 EEST
> 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.
-Andi
-
To unsubscribe from this list: send the line "unsubscribe linux-hams" in
the body of a message to gevfe@totalnonsense.lv
More majordomo info at http://vger.kernel.org/majordomo-info.html
This archive was generated by hypermail 2b30 : Sat Sep 20 2003 - 00:46:59 EEST