VNET is the name of a technique to virtualize the network stack. It changes global resources, most notably variables, into per network stack resources and handles them in the context of the correct instance. VNET is enabled by default in GENERIC kernels on all architectures except 32-bit ARM. DPCPU is a dynamic per-CPU memory allocator which can instantiate one instance of a global variable with each CPU in the system. Dynamically allocated per-CPU variables can be defined with custom names and types. DPCPU is always enabled. After FreeBSD 13.1 was released, the contributed LLVM components (LLVM, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp) were upgraded to upstream version 14.0.5. The new version of lld, the llvm linker, got additional optimizations for arm64 in the form of so-called relocation relaxations. These relaxations are fine for regular userland applications, as the dynamic linker can handle the optimized relocations. However, due to the way the VNET and DPCPU features are implemented, the optimized relocations can cause panics if they are used in kernel modules. On arm64 systems, loading kernel modules that use VNET or DPCPU features can cause panics. A known example is the WireGuard kernel module, if_wg(4).