DragonFlyBSD Kernel Audit
DF-0207 / build.sh
← back to finding ↓ download raw
#!/bin/sh
# DF-0207 build - the unprivileged leak trigger (userspace) AND the kld harness
set -e
cd "$(dirname "$0")"

# (1) unprivileged userspace trigger (proves the path is reachable; note the
#     pty trigger does not change ccmax because ptys have t_*speedwat==0,
#     see VERDICT.md - kept for completeness).
echo ">> building df0207_leak (userspace)"
cc -O2 -o df0207_leak df0207_leak.c -lutil
echo ">> userspace trigger built: ./df0207_leak [iters]"

# (2) kernel-module harness that calls clist_alloc_cblocks() directly with a
#     changing ccmax -> definitively demonstrates the missing kfree leak.
echo ">> building df0207_harness.ko (kld, needs kernel source)"
if [ -f /usr/src/sys/conf/kmod.mk ]; then
    make
    echo ">> kld built: sudo kldload ./df0207_harness.ko"
else
    echo "!! /usr/src/sys/conf/kmod.mk not found - skipping kld build"
fi