]> git.ipfire.org Git - thirdparty/glibc.git/commit
Do not use HP_TIMING_NOW for random bits
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>
Wed, 16 Jan 2019 18:10:56 +0000 (18:10 +0000)
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>
Fri, 22 Mar 2019 20:30:39 +0000 (17:30 -0300)
commit359653aaacad463d916323f03c0ac3c47405aafa
treea7d4de0a3e520ad4d62a2ed11bb63b55607fb160
parent6e8ba7fd574f530afb9681f21604475d5756d773
Do not use HP_TIMING_NOW for random bits

This patch removes the HP_TIMING_BITS usage for fast random bits and replace
with clock_gettime (CLOCK_MONOTONIC).  It has unspecified starting time and
nano-second accuracy, so its randomness is significantly better than
gettimeofday.

Althoug it should incur in more overhead (specially for architecture that
support hp-timing), the symbol is also common implemented as a vDSO.

Checked on aarch64-linux-gnu, x86_64-linux-gnu, and i686-linux-gnu. I also
checked on a i686-gnu build.

* include/random-bits.h: New file.
* resolv/res_mkquery.c [HP_TIMING_AVAIL] (RANDOM_BITS,
(__res_context_mkquery): Remove usage hp-timing usage and replace with
random_bits.
* resolv/res_send.c [HP_TIMING_AVAIL] (nameserver_offset): Likewise.
* sysdeps/posix/tempname.c [HP_TIMING_AVAIL] (__gen_tempname):
Likewise.
ChangeLog
include/random-bits.h [new file with mode: 0644]
resolv/res_mkquery.c
resolv/res_send.c
sysdeps/posix/tempname.c