From ce893e8479e87dce4252e5a1c7771381689625be Mon Sep 17 00:00:00 2001 From: Jeffrey Altman 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 Tested-by: Andrew Deason Reviewed-by: Jeffrey Hutzelman Reviewed-by: Cheyenne Wills Tested-by: Mark Vitale Reviewed-by: Benjamin Kaduk (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