From nobody Fri Nov 07 05:16:41 2025 X-Original-To: dev-commits-src-branches@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 4d2nNV2tq3z652yn; Fri, 07 Nov 2025 05:16:42 +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 4d2nNV0stTz3R2q; Fri, 07 Nov 2025 05:16:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1762492602; 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=3e/ZCtT5Afd5R/dDn8MmUPaQLBf33vLMU+vmorTtkhk=; b=a9XoVGPS6F1re7f6ArG+RFYUiNcpVjALC9nHRff+C7tOERiFKl14ddZeOEro8ZeZBCjisg zA8Mith//z5dqmQS6SJ6B4KOE8nOFd/ah/ojSuYOVtrRDpO/ORnSXr9m8h+WFKKMc5heE1 XXRyjQCRD+u/0LxcXI1S12ZbJsRsLehEcmcInG6rnwXCbMlYa8olifko7cBJUAdIEx38m3 HTAwuI8Vyb4bHUkZkC7HbB1l7vtklKir0cawe4BiFRt2vK68J+0vRfCzVFcBj19Dpas483 sfycvJzqeno1tZvamgSOy71Ho+n8AkH6VcoFbmPUDOmpkcO4KbGub4Ya2M080w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1762492602; 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=3e/ZCtT5Afd5R/dDn8MmUPaQLBf33vLMU+vmorTtkhk=; b=j7Ar6QO23VsUB7gZVZPdak0wSn+v4SB7Ddo3IcQu4onnJHYK78o03yB6FSClmAB/AiPdut yGrUrRgsK24H8+ATwP2W0bMhp/4tvsotW3N16leRMfhenjhqVTexSOLRAW9ALggNvgDcCl NP6CXTzyjsXffVyhxVLCoy/ki+QRqFNQNDgiUTfcyWCM1ZnREFmIhRWTU94615/dT7owzR paKsbW/b0KA/zj19QLh+RqlwwhBKLEA+Xufa6pz0NC1EnbQshjdE8Kc1otGQspTKOEzBX2 MntLPR0muCVypJ2ZI5xIKW0j92BEo0cwRPJwI74rsrKx4yoA6UvAtj/rj36ElQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1762492602; a=rsa-sha256; cv=none; b=heTgs/qUd+hfpwKIcsY4tBZLdxGle5IcLE+V0IbDcS90ANvs5FniIBe0azQy/IOsrRr7/L FraNdSN38vd+8Aj9pNG0sXH4aAbyJp/tRIxCyOdXANl2ywtWDrVoGZVVP6Hc2lcat5i42X HjNZ+QLUEsG6eNdM3mZBcKgJCaWxQdRD0T4UAYVrRRrQNch7915LFxWIr0Hv9B4Yzpsr+1 G2g6drgih7LrwVx/DaVP25MC6xfa/ltYE3LzRAPfLsa0u76RjiecryhQh9evrQOl8bxw3P pVPJ0qIw9yNKvjIEXU2RqXrN7ST6MJC5c2M8L2l9n3P3AB1hv4aoMqELod6zHA== 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 4d2nNV0PBTzlyJ; Fri, 07 Nov 2025 05:16:42 +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 5A75Gf3U092201; Fri, 7 Nov 2025 05:16:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 5A75Gfv9092198; Fri, 7 Nov 2025 05:16:41 GMT (envelope-from git) Date: Fri, 7 Nov 2025 05:16:41 GMT Message-Id: <202511070516.5A75Gfv9092198@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: 7d106aaa9364 - releng/15.0 - random: CTASSERT check sizeof random_source_descr[] List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/releng/15.0 X-Git-Reftype: branch X-Git-Commit: 7d106aaa9364aa96e3a165b772cef747e50f3990 Auto-Submitted: auto-generated The branch releng/15.0 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=7d106aaa9364aa96e3a165b772cef747e50f3990 commit 7d106aaa9364aa96e3a165b772cef747e50f3990 Author: David E. O'Brien AuthorDate: 2025-10-22 07:19:20 +0000 Commit: Colin Percival CommitDate: 2025-11-07 04:19:13 +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. Approved by: re (cperciva) Reviewed by: cem Differential Revision: https://reviews.freebsd.org/D53255 (cherry picked from commit 8bd9a9e9e4cb3e293c1639319692ce201eb8fc53) (cherry picked from commit d53618d582832f101051195e3733dcfcef519982) --- 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 858069035572..3aefe17a045a 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, }, @@ -216,6 +216,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 e38fd38c310b..f2206044fe7d 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", @@ -679,6 +680,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)