⬢ DragonFlyBSD Kernel Audit
DF-3485 / build.log
← back to finding ↓ download raw
build.log — DF-3485 baseline module identity check
===================================================

Shipped module (what the stock kernel loads):

    # md5 /usr/src/sys/netgraph/iface/ng_iface.c
    dcf849563b5a68f41f32fb7ae2b9a710   (identical to audit tree sys/)
    # file /boot/kernel/ng_iface.ko
    ELF 64-bit LSB relocatable, x86-64, with debug_info, not stripped
    (kernel ident: DragonFly 6.5-DEVELOPMENT #0 Thu Jul 2 06:02:54 UTC 2026)

Rebuild from the unmodified tree (proving the unguarded kfree is the
CURRENT tree's compiled behavior, not a stale binary):

    # cd /usr/src/sys/netgraph/iface && make
    cc -O2 ... -mindirect-branch=thunk-inline -c ng_iface.c   (clean)
    cc -Wl,--build-id=sha1 -nostdlib -Wl,--hash-style=sysv -r -Wl,-d -o ng_iface.ko ng_iface.o

    # objdump -d --disassemble=ng_iface_constructor ng_iface.ko | ...
    (same unguarded pattern: mov %r9,%rdi ; callq _kfree with r9 loaded
     straight from the ng_iface_units global, no NULL test — see
     disasm.stock.txt for the annotated listing)

Conclusion: source == tree; binary == what the tree compiles to; the panic
is the compiled semantics of the audited source.