DF-0195 / build.sh
#!/bin/sh # DF-0195 build: unprivileged reader (maxx) + detach-side harness KLD (root). # The reader builds as the unprivileged user; the harness module is built by # root (it is only a *detach trigger* that simulates a device going away). set -e # 1) reader (unprivileged victim path: world-readable sysctl kern.devstat.all) cc -O2 -o reader reader.c # 2) harness KLD (built in-kernel; loaded by root only as the detach trigger) if [ "$(id -u)" = 0 ] && [ -f Makefile ]; then make || { echo "harness build failed (needs /usr/src + bsd.kmod.mk)" >&2; exit 1; } fi echo "BUILD_OK" |