fix rngd.service coredump
This commit is contained in:
parent
e986bb35d0
commit
0da3888b8b
32
backport-Obey-restrictions-on-x86_rdrand_bytes-usage.patch
Normal file
32
backport-Obey-restrictions-on-x86_rdrand_bytes-usage.patch
Normal file
@ -0,0 +1,32 @@
|
||||
From 5244d384e706a546fd1a72cc004a9d6551f0d84b Mon Sep 17 00:00:00 2001
|
||||
From: Lon Willett <xgit@lonw.net>
|
||||
Date: Sun, 30 Sep 2018 21:25:07 +0200
|
||||
Subject: [PATCH 005/113] Obey restrictions on x86_rdrand_bytes usage
|
||||
|
||||
---
|
||||
rngd_rdrand.c | 9 ++++++++-
|
||||
1 file changed, 8 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/rngd_rdrand.c b/rngd_rdrand.c
|
||||
index ffb9e74..4529587 100644
|
||||
--- a/rngd_rdrand.c
|
||||
+++ b/rngd_rdrand.c
|
||||
@@ -246,7 +246,14 @@ int xread_drng(void *buf, size_t size, struct rng *ent_src)
|
||||
if (ent_src->rng_options[DRNG_OPT_AES].int_val)
|
||||
return xread_drng_with_aes(buf, size, ent_src);
|
||||
|
||||
- x86_rdrand_bytes(buf, size);
|
||||
+ /* NB: x86_rdrand_bytes might overrun end of buffer, if not a multiple of 8 */
|
||||
+ if (size > 7)
|
||||
+ x86_rdrand_bytes(buf, (size&~7));
|
||||
+ if ((size&7) != 0) {
|
||||
+ unsigned char tempbuf[8];
|
||||
+ x86_rdrand_bytes(tempbuf, (size&7));
|
||||
+ memcpy((unsigned char *)buf+(size&~7), tempbuf, (size&7));
|
||||
+ }
|
||||
return 0;
|
||||
}
|
||||
|
||||
--
|
||||
1.8.3.1
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
Name: rng-tools
|
||||
Version: 6.5
|
||||
Release: 2
|
||||
Release: 3
|
||||
Summary: Random number generator daemon
|
||||
License: GPLv2+
|
||||
URL: https://github.com/nhorman/rng-tools
|
||||
@ -10,6 +10,7 @@ Source2: jitterentropy-library-2.2.0.tar.gz
|
||||
|
||||
Patch0: jitterentropy-remove-install.patch
|
||||
Patch1: backport-Default-to-one-thread-if-getaffinity-returns-an-erro.patch
|
||||
Patch2: backport-Obey-restrictions-on-x86_rdrand_bytes-usage.patch
|
||||
|
||||
#Dependency
|
||||
BuildRequires: gcc make gettext systemd autoconf automake
|
||||
@ -60,6 +61,9 @@ install -D -t $RPM_BUILD_ROOT%{_unitdir} -m 0644 %{SOURCE1}
|
||||
%{_mandir}/man8/rngd.8.*
|
||||
|
||||
%changelog
|
||||
* Sat Dec 19 2020 yangzhuangzhuang <yangzhuangzhuang1@huawei.com> - 6.5-3
|
||||
- fix rngd.service coredump
|
||||
|
||||
* Thu Dec 10 2020 yangzhuangzhuang <yangzhuangzhuang1@huawei.com> - 6.5-2
|
||||
- fix rngd.service coredump
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user