From b6ef00864dbb5c05b608a2e5d3605597b10befdf Mon Sep 17 00:00:00 2001 From: Julien Massot Date: Thu, 28 Jan 2021 08:36:05 +0000 Subject: meta-agl-core: fix entropy gathering on rng-tools 6.9 Bug-AGL: SPEC-3775 rngd daemon may spam the console when using an older version than 6.11. Backport patches from https://github.com/nhorman/rng-tools/pull/99/commits, while waiting for an update of rng-tools (>= 6.11) in poky repository. Change-Id: Icf55a648d4c30a3c94d2afaee91e6c0a2207a130 Signed-off-by: Julien Massot Change-Id: I08d1856ca6bd0be76b3c7fe0a962d73cebe8bef7 Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/26001 Tested-by: Jenkins Job builder account Tested-by: Jan-Simon Moeller ci-image-build: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account Reviewed-by: Jan-Simon Moeller --- ...-initialize-AES-key-before-setting-the-en.patch | 38 ++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 meta-agl-core/recipes-support/rng-tools/rng-tools/0002-rngd_jitter-initialize-AES-key-before-setting-the-en.patch (limited to 'meta-agl-core/recipes-support/rng-tools/rng-tools/0002-rngd_jitter-initialize-AES-key-before-setting-the-en.patch') diff --git a/meta-agl-core/recipes-support/rng-tools/rng-tools/0002-rngd_jitter-initialize-AES-key-before-setting-the-en.patch b/meta-agl-core/recipes-support/rng-tools/rng-tools/0002-rngd_jitter-initialize-AES-key-before-setting-the-en.patch new file mode 100644 index 000000000..34f822754 --- /dev/null +++ b/meta-agl-core/recipes-support/rng-tools/rng-tools/0002-rngd_jitter-initialize-AES-key-before-setting-the-en.patch @@ -0,0 +1,38 @@ +From 330c2ba14510c8103b30d5021adb18f1534031a1 Mon Sep 17 00:00:00 2001 +From: Matthias Schiffer +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 +--- + 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; -- cgit 1.2.3-korg