From nobody Fri Oct 31 18:01:49 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cyphY3B2Mz6DhLw; Fri, 31 Oct 2025 18:01:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cyphY2cDPz4283; Fri, 31 Oct 2025 18:01:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1761933709; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kTGzfBKjUk5YpYwqQXQ8Q87/AcgoQr2b5e7stQJUU9E=; b=snpYDUZUU+1WcfmFmiKFsNZNqofzL/yZy2BjFQ/XBS4sHu92UQ8llOlkLDSNgRdMNkjhAe 47UZ93YF7ouRlq47ZF9PwEqJCC9V4JclRkgtHKMw+IJPKYKYCaim1n3pS+z6Q6ElQkb20V WoAV7+KD3Uknq241Lvos9Q7PYMdNsnCp3IjLvSxAKRQ0Cx3ksIHVcDyFyBKIoAMm8ggFby 6Efe7C66OHHMiX8gzApmziChY89lPQUakp5fAPl1S0gZQXDr/LZRhYbzg/KtZbKgixxh3R JbaBlGHhls+cPJ3PuWDPbfkiaEkpsK6vkwiQ0mtsYEHx5paY7pbquphJTN8LOw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1761933709; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kTGzfBKjUk5YpYwqQXQ8Q87/AcgoQr2b5e7stQJUU9E=; b=UY1eLXcrA0bJIBMFhMR1DcqOo9StUPW9clchjZZcPJarn20gvYGuwA/TsnZspQM5P3X7c9 6euEK45cb6+gLtC4TMpEZou7lTDUM6rRF1LmvFUpdVVivIza3W8hn4f9w3nh94yRRShb8/ 8Y5/jIPtTtNtPlUzWtoO3RczeH8SzamLmsm913zxcbWs4pUWM2/pfAQvZ4b9pE5mVVFsyq caYGP+SsMdT8Bwa3tGrAQRtuw9SBWomAMahvb+2zw6hDSaETHP3c5n6s4rW+5SBDKI6YyZ zz86KobrGSKpUzEpQnWkcrBG5mQJ+Y3zl00iW7ylZl6fykJhvt/5Lhi73h19RA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1761933709; a=rsa-sha256; cv=none; b=S6fwpYc7gUu0qmsrYXjbZJ+/3Mcx9JO6CD4EHxEMHeLBmYOFSY6cn86f1iaK9goRPUBiFE zNXDZHpo9sQl0Dnf1HdyzRN7Spb7gLZZYfGnJXYoAvdQerytZppd1UjlnpN4Lou5+wqwL0 BEEg7P9r6419IpilzgcklzzRS0aSrLrVbn9RbBPNPTWaPJWwNHugp22aoInLxtnGbQhOrz Xx6ivzCVnJC0nTiJ0LxFhX8vjCJ3+LaXF2OH4gaBsMRysYamvinM31LnUnSCPBnp4kQ282 Fy7Nj/22wyYKiZo+9Jnqr0qbp42k0g/m6nk77nu3ROF7KYG0YBl6wi1FJjJXCA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4cyphY2CpMz1J9G; Fri, 31 Oct 2025 18:01:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 59VI1nup045570; Fri, 31 Oct 2025 18:01:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 59VI1nfn045567; Fri, 31 Oct 2025 18:01:49 GMT (envelope-from git) Date: Fri, 31 Oct 2025 18:01:49 GMT Message-Id: <202510311801.59VI1nfn045567@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "David E. O'Brien" Subject: git: 8bd9a9e9e4cb - main - random: CTASSERT check sizeof random_source_descr[] List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: obrien X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8bd9a9e9e4cb3e293c1639319692ce201eb8fc53 Auto-Submitted: auto-generated The branch main has been updated by obrien: URL: https://cgit.FreeBSD.org/src/commit/?id=8bd9a9e9e4cb3e293c1639319692ce201eb8fc53 commit 8bd9a9e9e4cb3e293c1639319692ce201eb8fc53 Author: David E. O'Brien AuthorDate: 2025-10-22 07:19:20 +0000 Commit: David E. O'Brien CommitDate: 2025-10-31 18:01:45 +0000 random: CTASSERT check sizeof random_source_descr[] Ensure that the number of elements of random_source_descr[] and fxrng_ent_char[] matches that of enum random_entropy_source. Reviewed by: cem Differential Revision: https://reviews.freebsd.org/D53255 --- sys/dev/random/fenestrasX/fx_pool.c | 3 ++- sys/dev/random/random_harvestq.c | 6 ++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/sys/dev/random/fenestrasX/fx_pool.c b/sys/dev/random/fenestrasX/fx_pool.c index 8e63b345a1bd..b6ffc202769e 100644 --- a/sys/dev/random/fenestrasX/fx_pool.c +++ b/sys/dev/random/fenestrasX/fx_pool.c @@ -127,7 +127,7 @@ static const struct fxrng_ent_cls fxrng_garbage = { */ static const struct fxrng_ent_char { const struct fxrng_ent_cls *entc_cls; -} fxrng_ent_char[ENTROPYSOURCE] = { +} fxrng_ent_char[/*ENTROPYSOURCE*/] = { [RANDOM_CACHED] = { .entc_cls = &fxrng_hi_push, }, @@ -213,6 +213,7 @@ static const struct fxrng_ent_char { .entc_cls = &fxrng_hi_pull, }, }; +CTASSERT(nitems(fxrng_ent_char) == ENTROPYSOURCE); /* Useful for single-bit-per-source state. */ BITSET_DEFINE(fxrng_bits, ENTROPYSOURCE); diff --git a/sys/dev/random/random_harvestq.c b/sys/dev/random/random_harvestq.c index 643dbac1fc8b..b591ffd3b544 100644 --- a/sys/dev/random/random_harvestq.c +++ b/sys/dev/random/random_harvestq.c @@ -88,7 +88,7 @@ static void random_sources_feed(void); static __read_mostly bool epoch_inited; static __read_mostly epoch_t rs_epoch; -static const char *random_source_descr[ENTROPYSOURCE]; +static const char *random_source_descr[]; /* * How many events to queue up. We create this many items in @@ -109,6 +109,7 @@ volatile int random_kthread_control; * Updates are synchronized by the harvest mutex. */ __read_frequently u_int hc_source_mask; +CTASSERT(ENTROPYSOURCE <= sizeof(hc_source_mask) * NBBY); struct random_sources { CK_LIST_ENTRY(random_sources) rrs_entries; @@ -647,7 +648,7 @@ SYSCTL_PROC(_kern_random_harvest, OID_AUTO, mask_bin, random_print_harvestmask, "A", "Entropy harvesting mask (printable)"); -static const char *random_source_descr[ENTROPYSOURCE] = { +static const char *random_source_descr[/*ENTROPYSOURCE*/] = { [RANDOM_CACHED] = "CACHED", [RANDOM_ATTACH] = "ATTACH", [RANDOM_KEYBOARD] = "KEYBOARD", @@ -678,6 +679,7 @@ static const char *random_source_descr[ENTROPYSOURCE] = { [RANDOM_PURE_ARM_TRNG] = "PURE_ARM_TRNG", /* "ENTROPYSOURCE" */ }; +CTASSERT(nitems(random_source_descr) == ENTROPYSOURCE); static int random_print_harvestmask_symbolic(SYSCTL_HANDLER_ARGS)