freebsd-skq/sys/cddl
markj 14d00949a6 sdt: Create providers and probes in separate passes when loading sdt.ko
The sdt module's load handler iterates over SDT linker sets for the
kernel and all loaded modules to create probes and providers defined by
SDT(9).  Probes in one module may belong to a provider in a different
module, but when a probe is created we assume that the provider is
already defined.  To maintain this invariant, modify the load handler to
perform two separate passes over loaded modules: one to define providers
and the other to define probes.

The problem manifests when loading linux.ko, which depends on
linux_common.ko, which defines providers used by probes defined in
linux.ko.

Reported by:	gallatin
MFC after:	2 weeks
Sponsored by:	The FreeBSD Foundation
2020-12-03 17:10:00 +00:00
..
boot/zfs Turn off zstd on aarch64 2020-10-13 02:36:16 +00:00
compat/opensolaris Drop "All rights reserved" from all my stuff. This includes 2020-10-28 13:46:11 +00:00
contrib/opensolaris [cddl] Fix lz4 function definitions to not tri pup compile. 2020-11-17 17:11:07 +00:00
dev sdt: Create providers and probes in separate passes when loading sdt.ko 2020-12-03 17:10:00 +00:00