From 8e825f64b95b5151c1fafd2888d28bf025a4d9b9 Mon Sep 17 00:00:00 2001 From: Vladis Dronov Date: Sat, 18 Sep 2021 18:22:56 +0200 Subject: [PATCH] Update to the latest upstream v6.14 - Update to the upstream v6.14 + tip of origin/master @ 56626083 - Add an important cb52458b and a revert of 2ce93190 - Add a fix for covscan unused variable warning Signed-off-by: Vladis Dronov --- .gitignore | 2 +- 1-rt-revert-build-randstat.patch | 47 +++++++++++++++++++++++++++++++ 2-rt-comment-out-have-aesni.patch | 42 +++++++++++++++++++++++++++ 3-rt-lock-the-mutex.patch | 36 +++++++++++++++++++++++ rng-tools.spec | 15 ++++++++-- sources | 2 +- 6 files changed, 139 insertions(+), 5 deletions(-) create mode 100644 1-rt-revert-build-randstat.patch create mode 100644 2-rt-comment-out-have-aesni.patch create mode 100644 3-rt-lock-the-mutex.patch diff --git a/.gitignore b/.gitignore index 24cf979..444df95 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -/rng-tools-6.13.tar.gz +/rng-tools-6.14.tar.gz diff --git a/1-rt-revert-build-randstat.patch b/1-rt-revert-build-randstat.patch new file mode 100644 index 0000000..c784c64 --- /dev/null +++ b/1-rt-revert-build-randstat.patch @@ -0,0 +1,47 @@ +From de2ee0d8b7e8ad2915165ef941a6ec37442a2fdc Mon Sep 17 00:00:00 2001 +From: Vladis Dronov +Date: Tue, 6 Jul 2021 14:36:46 +0200 +Subject: [PATCH] Revert "Build randstat binary" + +We do not want new and mostly useless randstat binary. +This reverts commit 2ce93190cb0111fcab2f622a539689d70960643a. + +Signed-off-by: Vladis Dronov +--- + .gitignore | 3 +-- + contrib/Makefile.am | 5 +++-- + 2 files changed, 4 insertions(+), 4 deletions(-) + +diff --git .gitignore .gitignore +index 943fa2b..5dc334d 100644 +--- .gitignore ++++ .gitignore +@@ -1,6 +1,6 @@ + *.a + *.o +-.deps/ ++/.deps/ + /aclocal.m4 + /ar-lib + /autom4te.cache/ +@@ -10,7 +10,6 @@ + /config.status + /config.sub + /configure +-/contrib/randstat + /depcomp + /install-sh + /missing +diff --git contrib/Makefile.am contrib/Makefile.am +index a81fb0e..18c4fbc 100644 +--- contrib/Makefile.am ++++ contrib/Makefile.am +@@ -1,2 +1,3 @@ +-bin_PROGRAMS = randstat +-randstat_SOURCES = randstat.c ++ ++EXTRA_DIST = randstat.c ++ +-- +2.26.3 + diff --git a/2-rt-comment-out-have-aesni.patch b/2-rt-comment-out-have-aesni.patch new file mode 100644 index 0000000..8661e6e --- /dev/null +++ b/2-rt-comment-out-have-aesni.patch @@ -0,0 +1,42 @@ +From 86a66ed41390fa5f98aade60a55376269fd163b0 Mon Sep 17 00:00:00 2001 +From: Vladis Dronov +Date: Fri, 17 Sep 2021 01:04:51 +0200 +Subject: [PATCH] Comment out an unused assignment + +Covscan warns about an unused value. Comment it out. + +Defect type: UNUSED_VALUE: covscan warning: +rng-tools-6.13/rngd_rdrand.c:260: assigned_value: Assigning value +from "!!(info.ecx & 0x2000000U)" to "have_aesni" here, but that +stored value is overwritten before it can be used. + +Signed-off-by: Vladis Dronov +--- + rngd_rdrand.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git rngd_rdrand.c rngd_rdrand.c +index caa9d05..ea7b8fa 100644 +--- rngd_rdrand.c ++++ rngd_rdrand.c +@@ -239,7 +239,7 @@ int init_drng_entropy_source(struct rng *ent_src) + struct cpuid info; + /* We need RDRAND, but AESni is optional */ + const uint32_t features_ecx1_rdrand = 1 << 30; +- const uint32_t features_ecx1_aesni = 1 << 25; ++ //const uint32_t features_ecx1_aesni = 1 << 25; + const uint32_t features_ebx7_rdseed = 1 << 18; + uint32_t max_cpuid_leaf; + unsigned char xkey[AES_BLOCK]; /* Material to XOR into the key */ +@@ -257,7 +257,7 @@ int init_drng_entropy_source(struct rng *ent_src) + if (!(info.ecx & features_ecx1_rdrand)) + return 1; + +- have_aesni = !!(info.ecx & features_ecx1_aesni); ++ //have_aesni = !!(info.ecx & features_ecx1_aesni); + have_aesni = 0; /* BACK OUT NH */ + have_rdseed = 0; + if (max_cpuid_leaf >= 7) { +-- +2.26.3 + diff --git a/3-rt-lock-the-mutex.patch b/3-rt-lock-the-mutex.patch new file mode 100644 index 0000000..2d5fb1e --- /dev/null +++ b/3-rt-lock-the-mutex.patch @@ -0,0 +1,36 @@ +From cb52458b360bfba060a13b1183d5d4bcc52b7d2e Mon Sep 17 00:00:00 2001 +From: Neil Horman +Date: Fri, 3 Sep 2021 07:36:48 -0400 +Subject: [PATCH] Lock the mutex prior to signaling a thread to exit + +When we shutdown jitter we want to first lock the threads mutex, then +signal it to exit, otherwise we can get a race condition in which the +thread exits before we wait on the condition variable, and wind up +blocking forever + +Signed-off-by: Neil Horman +Signed-off-by: Vladis Dronov +--- + rngd_jitter.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/rngd_jitter.c b/rngd_jitter.c +index 2d04df4..47c9169 100644 +--- rngd_jitter.c ++++ rngd_jitter.c +@@ -549,10 +549,10 @@ void close_jitter_entropy_source(struct rng *ent_src) + + /* And wait for completion of each thread */ + for (i=0; i < num_threads; i++) { +- /* Signal the threads to exit */ +- pthread_kill(threads[i], SIGUSR1); + /* and wait for them to shutdown */ + pthread_mutex_lock(&tdata[i].statemtx); ++ /* Signal the threads to exit */ ++ pthread_kill(threads[i], SIGUSR1); + if (!tdata[i].done) { + message_entsrc(ent_src,LOG_DAEMON|LOG_DEBUG, "Checking on done for thread %d\n", i); + pthread_cond_wait(&tdata[i].statecond, &tdata[i].statemtx); +-- +2.26.3 + diff --git a/rng-tools.spec b/rng-tools.spec index d8efc76..7145be0 100644 --- a/rng-tools.spec +++ b/rng-tools.spec @@ -10,8 +10,8 @@ Summary: Random number generator related utilities Name: rng-tools -Version: 6.13 -Release: 4.git.d207e0b6%{?dist} +Version: 6.14 +Release: 1.git.56626083%{?dist} License: GPLv2+ URL: https://github.com/nhorman/rng-tools Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz @@ -36,11 +36,15 @@ Requires(post): systemd Requires(preun): systemd Requires(postun): systemd +Patch0: 1-rt-revert-build-randstat.patch +Patch1: 2-rt-comment-out-have-aesni.patch +Patch2: 3-rt-lock-the-mutex.patch + %description Hardware random number generation tools. %prep -%autosetup +%autosetup -p0 %build %if !%{with pkcs11} @@ -80,6 +84,11 @@ install -Dt %{buildroot}%{_unitdir} -m0644 %{SOURCE1} %attr(0644,root,root) %{_unitdir}/rngd.service %changelog +* Sat Sep 18 2021 Vladis Dronov - 6.14-1.git.56626083 +- Update to the upstream v6.14 + tip of origin/master @ 56626083 +- Add an important cb52458b and a revert of 2ce93190 +- Add a fix for covscan unused variable warning + * Tue Sep 14 2021 Sahana Prasad - 6.13-4.git.d207e0b6 - Rebuilt with OpenSSL 3.0.0 diff --git a/sources b/sources index 0c8d9df..8ea750d 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (rng-tools-6.13.tar.gz) = e92491073e5af67e5d0ede0349944baaa9fca0e1171e3e311df1b08295d71c15791538497e595c0e9a61e02cffe83d31ae10c00a195826c6f677004208dc7911 +SHA512 (rng-tools-6.14.tar.gz) = 1f86a266c3d94c2ee170dddf79b9fb1625a4d1018efa0e4f3521d9fd5e9a0d7bb9338adf05b155de2f527ab4b2a274612a32d613a1cb6b93a28d9ddcd1dc18d2