mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2025-02-27 15:29:54 +07:00
staging/lustre: use 64-bit times for cfs_srand seed
Several functions in Lustre call cfs_srand with do_gettimeofday as the seed to get a pseudo-random number. There is no bug here, but changing it to use ktime_get_ts64() gets us closer to deprecating do_gettimeofday() and makes it slightly more random. Affected functions are: lnet_shuffle_seed, init_lustre_lite and class_handle_init Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Oleg Drokin <green@linuxhacker.ru> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
473c4e0102
commit
1f4fc343c0
@ -237,7 +237,7 @@ static void lnet_shuffle_seed(void)
|
||||
{
|
||||
static int seeded;
|
||||
int lnd_type, seed[2];
|
||||
struct timeval tv;
|
||||
struct timespec64 ts;
|
||||
lnet_ni_t *ni;
|
||||
struct list_head *tmp;
|
||||
|
||||
@ -256,8 +256,8 @@ static void lnet_shuffle_seed(void)
|
||||
seed[0] ^= (LNET_NIDADDR(ni->ni_nid) | lnd_type);
|
||||
}
|
||||
|
||||
do_gettimeofday(&tv);
|
||||
cfs_srand(tv.tv_sec ^ seed[0], tv.tv_usec ^ seed[1]);
|
||||
ktime_get_ts64(&ts);
|
||||
cfs_srand(ts.tv_sec ^ seed[0], ts.tv_nsec ^ seed[1]);
|
||||
seeded = 1;
|
||||
}
|
||||
|
||||
|
@ -90,7 +90,7 @@ void lustre_register_client_process_config(int (*cpc)(struct lustre_cfg *lcfg));
|
||||
static int __init init_lustre_lite(void)
|
||||
{
|
||||
lnet_process_id_t lnet_id;
|
||||
struct timeval tv;
|
||||
struct timespec64 ts;
|
||||
int i, rc, seed[2];
|
||||
|
||||
CLASSERT(sizeof(LUSTRE_VOLATILE_HDR) == LUSTRE_VOLATILE_HDR_LEN + 1);
|
||||
@ -152,8 +152,8 @@ static int __init init_lustre_lite(void)
|
||||
seed[0] ^= LNET_NIDADDR(lnet_id.nid);
|
||||
}
|
||||
|
||||
do_gettimeofday(&tv);
|
||||
cfs_srand(tv.tv_sec ^ seed[0], tv.tv_usec ^ seed[1]);
|
||||
ktime_get_ts64(&ts);
|
||||
cfs_srand(ts.tv_sec ^ seed[0], ts.tv_nsec ^ seed[1]);
|
||||
setup_timer(&ll_capa_timer, ll_capa_timer_callback, 0);
|
||||
rc = ll_capa_thread_start();
|
||||
if (rc != 0)
|
||||
|
@ -193,7 +193,7 @@ EXPORT_SYMBOL(class_handle_free_cb);
|
||||
int class_handle_init(void)
|
||||
{
|
||||
struct handle_bucket *bucket;
|
||||
struct timeval tv;
|
||||
struct timespec64 ts;
|
||||
int seed[2];
|
||||
|
||||
LASSERT(handle_hash == NULL);
|
||||
@ -212,8 +212,8 @@ int class_handle_init(void)
|
||||
|
||||
/** bug 21430: add randomness to the initial base */
|
||||
cfs_get_random_bytes(seed, sizeof(seed));
|
||||
do_gettimeofday(&tv);
|
||||
cfs_srand(tv.tv_sec ^ seed[0], tv.tv_usec ^ seed[1]);
|
||||
ktime_get_ts64(&ts);
|
||||
cfs_srand(ts.tv_sec ^ seed[0], ts.tv_nsec ^ seed[1]);
|
||||
|
||||
cfs_get_random_bytes(&handle_base, sizeof(handle_base));
|
||||
LASSERT(handle_base != 0ULL);
|
||||
|
Loading…
Reference in New Issue
Block a user