DragonFlyBSD Kernel Audit
DF-1927 / build.sh
← back to finding ↓ download raw
#!/bin/sh
# DF-1927 harness build script.
# Builds both the BUGGY model (faithful to DFly linux_kthread.c:104-110) and
# the FIXED model (synchronous kthread_park matching upstream Linux).
#
# The harness is a userland pthread program; it does NOT require GPU hardware
# or the amdgpu/radeon DRM modules. It faithfully models the spsc_queue,
# dma_fence refcount, kthread_park/parkme, and the concurrent access between
# drm_sched_entity_pop_job() and drm_sched_entity_fini().
set -e
cd "$(dirname "$0")"

echo "[1/2] BUGGY model (DFly master DEV linux_kthread.c:104-110)"
cc -O2 -g -Wall -pthread -o df1927_race df1927_race.c

echo "[2/2] FIXED model (synchronous kthread_park, upstream Linux semantics)"
cc -O2 -g -Wall -pthread -DFIXED_KTHREAD_PARK -o df1927_race_fixed df1927_race.c

echo ""
echo "Build OK. Run with: ./run.sh"