about summary refs log tree commit diff
path: root/ChangeLog
diff options
context:
space:
mode:
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>2019-01-16 18:10:56 +0000
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2019-03-22 17:30:39 -0300
commit359653aaacad463d916323f03c0ac3c47405aafa (patch)
treea7d4de0a3e520ad4d62a2ed11bb63b55607fb160 /ChangeLog
parent6e8ba7fd574f530afb9681f21604475d5756d773 (diff)
downloadglibc-359653aaacad463d916323f03c0ac3c47405aafa.tar.gz
glibc-359653aaacad463d916323f03c0ac3c47405aafa.tar.xz
glibc-359653aaacad463d916323f03c0ac3c47405aafa.zip
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.
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog8
1 files changed, 8 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 4c5fa54db3..378f9aaa65 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
 2019-03-22  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
 
+	* 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.
+
 	* include/libc-internal.h (__get_clockfreq): Remove prototype.
 	* rt/Makefile (clock-routines): Remove get_clockfreq.
 	* rt/get_clockfreq.c: Remove file.