path: root/sys/conf/files.amd64
diff options
authorConrad Meyer <cem@FreeBSD.org>2019-06-01 01:22:21 +0000
committerConrad Meyer <cem@FreeBSD.org>2019-06-01 01:22:21 +0000
commit5ca5dfe938c1e4c741dc4c7bd83c738714456978 (patch)
tree9e7a860515fa87c7a4042d2dd0ae4f7342242a7c /sys/conf/files.amd64
parent89afd39c2c0bdbfbd0e23461f321d3445e4ae9e8 (diff)
random(4): Fix RANDOM_LOADABLE build
I introduced an obvious compiler error in r346282, so this change fixes that. Unfortunately, RANDOM_LOADABLE isn't covered by our existing tinderbox, and it seems like there were existing latent linking problems. I believe these were introduced on accident in r338324 during reduction of the boolean expression(s) adjacent to randomdev.c and hash.c. It seems the RANDOM_LOADABLE build breakage has gone unnoticed for nine months. This change correctly annotates randomdev.c and hash.c with !random_loadable to match the pre-r338324 logic; and additionally updates the HWRNG drivers in MD 'files.*', which depend on random_device symbols, with !random_loadable (it is invalid for the kernel to depend on symbols from a module). (The expression for both randomdev.c and hash.c was the same, prior to r338324: "optional random random_yarrow | random !random_yarrow !random_loadable". I.e., "random && (yarrow || !loadable)." When Yarrow was removed ("yarrow := False"), the expression was incorrectly reduced to "optional random" when it should have retained "random && !loadable".) Additionally, I discovered that virtio_random was missing a MODULE_DEPEND on random_device, which breaks kld load/link of the driver on RANDOM_LOADABLE kernels. Address that issue as well. PR: 238223 Reported by: Eir Nym <eirnym AT gmail.com> Reviewed by: delphij, markm Approved by: secteam(delphij) Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D20466
Notes: svn path=/head/; revision=348489
Diffstat (limited to 'sys/conf/files.amd64')
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/conf/files.amd64 b/sys/conf/files.amd64
index 2d1e6398776e..1d399122c50c 100644
--- a/sys/conf/files.amd64
+++ b/sys/conf/files.amd64
@@ -368,8 +368,8 @@ dev/nvme/nvme_sysctl.c optional nvme
dev/nvme/nvme_test.c optional nvme
dev/nvme/nvme_util.c optional nvme
dev/nvram/nvram.c optional nvram isa
-dev/random/ivy.c optional rdrand_rng
-dev/random/nehemiah.c optional padlock_rng
+dev/random/ivy.c optional rdrand_rng !random_loadable
+dev/random/nehemiah.c optional padlock_rng !random_loadable
dev/qlxge/qls_dbg.c optional qlxge pci
dev/qlxge/qls_dump.c optional qlxge pci
dev/qlxge/qls_hw.c optional qlxge pci