Re: On amd64 main-n251456-22c4ab6cb015-dirty (Dec.-7): /boot/kernel/ng_ubt.ko is getting "symbol sysctl___net_bluetooth undefined"

From: Hans Petter Selasky <hps_at_selasky.org>
Date: Thu, 16 Dec 2021 08:56:58 UTC
On 12/15/21 23:58, Mark Millard via freebsd-current wrote:
> Back when I upgraded the ThreadRipper 1950X amd64 system to (line split for readability):
> 
> # uname -apKU
> FreeBSD CA72_16Gp_ZFS 14.0-CURRENT FreeBSD 14.0-CURRENT #25 main-n251456-22c4ab6cb015-dirty:
> Tue Dec  7 19:38:53 PST 2021
> root@CA72_16Gp_ZFS:/usr/obj/BUILDs/main-CA72-nodbg-clang/usr/main-src/arm64.aarch64/sys/GENERIC-NODBG-CA72
> arm64 aarch64 1400043 1400043
> 
> I started getting notices like:
> 
> Dec  7 18:38:57 amd64_ZFS kernel: link_elf_obj: symbol sysctl___net_bluetooth undefined
> Dec  7 18:38:57 amd64_ZFS kernel: linker_load_file: /boot/kernel/ng_ubt.ko - unsupported file type
> 
> (Not that I use the bluetooth on the system.)
> 
> Is this expected for a kernel of that vintage?
> 
> For reference:
> 
> # more /usr/main-src/sys/amd64/conf/GENERIC-NODBG
> #
> # GENERIC -- Custom configuration for the amd64/amd64
> #
> 
> include "GENERIC"
> 
> ident   GENERIC-NODBG
> 
> makeoptions     DEBUG=-g                # Build kernel with gdb(1) debug symbols
> makeoptions     WITH_CTF=1              # Run ctfconvert(1) for DTrace support
> 
> options         NUMA
> options         MAXMEMDOM=2
> 
> #options        ALT_BREAK_TO_DEBUGGER
> 
> options         KDB                     # Enable kernel debugger support
> 
> # For minimum debugger support (stable branch) use:
> options         KDB_TRACE               # Print a stack trace for a panic
> options         DDB                     # Enable the kernel debugger
> 
> # Extra stuff:
> #options        VERBOSE_SYSINIT=0       # Enable verbose sysinit messages
> #options        BOOTVERBOSE=1
> #options        BOOTHOWTO=RB_VERBOSE
> #options        KTR
> #options        KTR_MASK=KTR_TRAP
> ##options       KTR_CPUMASK=0xF
> #options        KTR_VERBOSE
> #options        ACPI_DEBUG
> 
> # Disable any extra checking for. . .
> nooptions       DEADLKRES               # Would enable the deadlock resolver
> nooptions       INVARIANTS              # Would enable calls of extra sanity checking
> nooptions       INVARIANT_SUPPORT       # Would enable extra sanity checks of internal structures, required by INVARIANTS
> nooptions       WITNESS                 # Would enable checks to detect deadlocks and cycles
> nooptions       WITNESS_SKIPSPIN        # Would enable running witness on spinlocks for speed
> nooptions       DIAGNOSTIC
> nooptions       MALLOC_DEBUG_MAXZONES
> 
> # Kernel Sanitizers
> nooptions       COVERAGE                # Would enable generic kernel coverage. Used by KCOV
> nooptions       KCOV                    # Would enable Kernel Coverage Sanitizer
> # Warning: KUBSAN can result in a kernel too large for loader to load
> nooptions       KUBSAN                  # Would enable Kernel Undefined Behavior Sanitizer
> 
> device  iwm
> device  iwmfw
> 
> 
> sysctl___net_bluetooth seems to be from one or more of:
> 
> # grep -r "net_bluetooth[^_]" /usr/main-src/sys/ | more
> /usr/main-src/sys/netgraph/bluetooth/common/ng_bluetooth.c:SYSCTL_INT(_net_bluetooth, OID_AUTO, version,
> /usr/main-src/sys/netgraph/bluetooth/common/ng_bluetooth.c:SYSCTL_NODE(_net_bluetooth, OID_AUTO, hci, CTLFLAG_RW | CTLFLAG_MPSAFE, 0,
> /usr/main-src/sys/netgraph/bluetooth/common/ng_bluetooth.c:SYSCTL_NODE(_net_bluetooth, OID_AUTO, l2cap, CTLFLAG_RW | CTLFLAG_MPSAFE, 0,
> /usr/main-src/sys/netgraph/bluetooth/common/ng_bluetooth.c:SYSCTL_NODE(_net_bluetooth, OID_AUTO, rfcomm, CTLFLAG_RW | CTLFLAG_MPSAFE, 0,
> /usr/main-src/sys/netgraph/bluetooth/common/ng_bluetooth.c:SYSCTL_NODE(_net_bluetooth, OID_AUTO, sco, CTLFLAG_RW | CTLFLAG_MPSAFE, 0,
> /usr/main-src/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c:SYSCTL_INT(_net_bluetooth, OID_AUTO, usb_isoc_enable, CTLFLAG_RWTUN | CTLFLAG_MPSAFE,
> /usr/main-src/sys/netgraph/bluetooth/include/ng_bluetooth.h:SYSCTL_DECL(_net_bluetooth);
> 

This issue was fixed:

https://cgit.freebsd.org/src/commit/?id=8fa952937bbe44a0fdd17348adfbbfd44aef6004

--HPS