aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-support/rng-tools/rng-tools/0002-rngd_jitter-initialize-AES-key-before-setting-the-en.patch
blob: 34f822754372af5d596d0a648b2f74abd5931e2b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
From 330c2ba14510c8103b30d5021adb18f1534031a1 Mon Sep 17 00:00:00 2001
From: Matthias Schiffer <matthias.schiffer@tq-group.com>
Date: Wed, 27 Jan 2021 16:18:09 +0100
Subject: [PATCH] rngd_jitter: initialize AES key before setting the entropy
 pipe to O_NONBLOCK

Signed-off-by: Matthias Schiffer <matthias.schiffer@tq-group.com>
---
 rngd_jitter.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/rngd_jitter.c b/rngd_jitter.c
index 25b3543..48f344c 100644
--- a/rngd_jitter.c
+++ b/rngd_jitter.c
@@ -463,10 +463,6 @@ int init_jitter_entropy_source(struct rng *ent_src)
 		pthread_mutex_unlock(&tdata[i].statemtx);
 	}
 
-	flags = fcntl(pipefds[0], F_GETFL, 0);
-	flags |= O_NONBLOCK;
-	fcntl(pipefds[0], F_SETFL, flags);
-
 	if (ent_src->rng_options[JITTER_OPT_USE_AES].int_val) {
 #ifdef HAVE_LIBGCRYPT
 		/*
@@ -487,6 +483,11 @@ int init_jitter_entropy_source(struct rng *ent_src)
 			ent_src->rng_options[JITTER_OPT_USE_AES].int_val = 1;
 		}
 		xread_jitter(aes_buf, tdata[0].buf_sz, ent_src);
+
+		flags = fcntl(pipefds[0], F_GETFL, 0);
+		flags |= O_NONBLOCK;
+		fcntl(pipefds[0], F_SETFL, flags);
+
 #else
 		message_entsrc(ent_src,LOG_CONS|LOG_INFO, "libgcrypt not available. Disabling AES in JITTER source\n");
 		ent_src->rng_options[JITTER_OPT_USE_AES].int_val = 0;