freebsd-nq/sys/dev/virtio
Conrad Meyer 5ca5dfe938 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
2019-06-01 01:22:21 +00:00
..
balloon
block
console
mmio Split out the virtio mmio FDT attachment and add an ACPI attachment. 2018-10-21 15:43:20 +00:00
network Remove non-functional SCTP checksum offload support for virtio. 2019-05-07 20:28:12 +00:00
pci virtio_pci(4): Fix typo in read_ivar method 2019-05-25 01:59:24 +00:00
random random(4): Fix RANDOM_LOADABLE build 2019-06-01 01:22:21 +00:00
scsi Fix SCSI sense data pass through. 2019-04-12 18:54:09 +00:00
virtio_bus_if.m
virtio_config.h Update VirtIO definitions from Linux virtio_config.h and virtio_ring.h headers 2018-06-17 20:45:48 +00:00
virtio_ids.h
virtio_if.m
virtio_ring.h Update VirtIO definitions from Linux virtio_config.h and virtio_ring.h headers 2018-06-17 20:45:48 +00:00
virtio.c
virtio.h
virtqueue.c Add more virtqueue getter methods 2018-02-19 19:31:18 +00:00
virtqueue.h Add more virtqueue getter methods 2018-02-19 19:31:18 +00:00