DragonFlyBSD Kernel Audit
DF-0382 / run.sh
← back to finding ↓ download raw
#!/bin/sh
# DF-0382 run -- panic via dummynet3 config_red div0
# REQUIRES: root (raw socket capability SYSCAP_NONET_RAW) and dummynet3.ko loaded.
# Setup (as root):
#     sysctl net.filters_default_to_accept=1     # keep ssh alive when ipfw3 loads
#     kldload dummynet3                          # pulls in ipfw3, ipfw3_basic
# Then:
#     ./df_0382_div0           # line 1351 path: max_th==min_th
# Expected (BUG present):  kernel panic "Fatal trap 18: integer divide fault"
#                          Stopped at set_fs_parms+0x8e: idivl %r9d,%eax
# Expected (FIX present):  "setsockopt IP_DUMMYNET_CONFIGURE: Invalid argument"
#                          (no panic, guest stays up)
set -e
[ "$(id -u)" = "0" ] || { echo "must run as root (raw socket capability)"; exit 2; }
./df_0382_div0