#!/bin/sh
# DF-0917 run: deterministic models (unprivileged) + optional live FUSE race.
#   arg1 = live race iterations (default 2; each ~35s; needs root)
set -e
cd "$(dirname "$0")"
ITERS="${1:-2}"
echo "==== [1] UNFIXED model — should CONFIRM the UAF pattern ===="
./harness; echo "harness(unfixed) rc=$?"
echo
echo "==== [2] FIXED model — should show NO UAF (refcount held across window) ===="
./harness_fixed; echo "harness(fixed) rc=$?"
echo
echo "==== [3] live FUSE race attempt (needs root + kldload fuse) ===="
if [ "$(id -u)" != "0" ]; then
    echo "(not root: skipping live race; run via vm.sh run_root)"
    exit 0
fi
kldload fuse 2>/dev/null || true
mkdir -p /mnt/fuse
rm -f /tmp/df0917_run.out /tmp/df0917_daemon.log
echo "+ ./fused0917 $ITERS"
./fused0917 "$ITERS"
echo "fused0917 rc=$?"
echo "---- daemon log ----"
cat /tmp/df0917_daemon.log
