blob: 7b689815705eff77d63a5db2a9268a49ccc5de8a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
From ce893e8479e87dce4252e5a1c7771381689625be Mon Sep 17 00:00:00 2001
From: Jeffrey Altman <jaltman@auristor.com>
Date: Thu, 14 Jan 2021 09:41:39 -0500
Subject: [PATCH 6/8] rx: rx_InitHost do not overwrite RAND_bytes rx_nextCid
39b165cdda941181845022c183fea1c7af7e4356 ("Move epoch and cid
generation into the rx core") introduced the use of RAND_bytes()
to generate the initial 'rx_nextCid' but failed to remove the
rx_nextCid = ((tv.tv_sec ^ tv.tv_usec) << RX_CIDSHIFT;
assignment inherited from IBM/Transarc.
At Thu, 14 Jan 2021 08:25:36 GMT the IBM inherited calculation
overflows the value CID range. This triggers broken overflow
logic in update_nextCid().
Reviewed-on: https://gerrit.openafs.org/14491
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
Tested-by: Andrew Deason <adeason@sinenomine.net>
Reviewed-by: Jeffrey Hutzelman <jhutz@cmu.edu>
Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
Tested-by: Mark Vitale <mvitale@sinenomine.net>
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
(cherry picked from commit a3bc7ff1501d51ceb3b39d9caed62c530a804473)
Change-Id: If5f7d4ba1cacc6978c83fd512653fbaa0c1559d8
---
src/rx/rx.c | 3 ---
1 file changed, 3 deletions(-)
diff --git a/src/rx/rx.c b/src/rx/rx.c
index 244838d9c..e1e6d8fd6 100644
--- a/src/rx/rx.c
+++ b/src/rx/rx.c
@@ -621,9 +621,6 @@ rx_InitHost(u_int host, u_int port)
MUTEX_ENTER(&rx_quota_mutex);
rxi_dataQuota += rx_extraQuota; /* + extra pkts caller asked to rsrv */
MUTEX_EXIT(&rx_quota_mutex);
- /* *Slightly* random start time for the cid. This is just to help
- * out with the hashing function at the peer */
- rx_nextCid = ((tv.tv_sec ^ tv.tv_usec) << RX_CIDSHIFT);
rx_connHashTable = (struct rx_connection **)htable;
rx_peerHashTable = (struct rx_peer **)ptable;
--
2.30.0
|