Module Name: src Committed By: khorben Date: Tue May 4 21:13:38 UTC 2021
Modified Files: src/sys/arch/amd64/stand/prekern: prng.c Log Message: prekern: add warnings upon problems collecting entropy As submitted on port-amd64@ (part 3/3) Tested on NetBSD/amd64. To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 src/sys/arch/amd64/stand/prekern/prng.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/amd64/stand/prekern/prng.c diff -u src/sys/arch/amd64/stand/prekern/prng.c:1.4 src/sys/arch/amd64/stand/prekern/prng.c:1.5 --- src/sys/arch/amd64/stand/prekern/prng.c:1.4 Tue May 4 21:10:25 2021 +++ src/sys/arch/amd64/stand/prekern/prng.c Tue May 4 21:13:38 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: prng.c,v 1.4 2021/05/04 21:10:25 khorben Exp $ */ +/* $NetBSD: prng.c,v 1.5 2021/05/04 21:13:38 khorben Exp $ */ /* * Copyright (c) 2017-2020 The NetBSD Foundation, Inc. All rights reserved. @@ -84,6 +84,7 @@ prng_get_entropy_file(SHA512_CTX *ctx) uint8_t digest[SHA1_DIGEST_LENGTH]; rndsave_t *rndsave; SHA1_CTX sig; + size_t count = 0; biml = (struct btinfo_modulelist *)prng_lookup_bootinfo(BTINFO_MODULELIST); @@ -117,7 +118,10 @@ prng_get_entropy_file(SHA512_CTX *ctx) } SHA512_Update(ctx, rndsave->data, sizeof(rndsave->data)); + count++; } + if (count == 0) + print_state(STATE_WARNING, "No entropy file could be loaded"); } /* @@ -168,6 +172,8 @@ prng_init(void) cpuid(0x01, 0x00, descs); has_rdrand = (descs[2] & CPUID2_RDRAND) != 0; } + if (!has_rdseed && !has_rdrand) + print_state(STATE_WARNING, "No CPU entropy feature detected"); SHA512_Init(&ctx); prng_get_entropy_file(&ctx);