# DF-1701 — Verdict

**Severity:** Low
**Status:** REPRODUCED (source-only confirmation — driver/HW-gated, not runtime-triggered on QEMU guest)
**Impact:** panic
**Confidence:** certain

## Verdict
REPRODUCED. The cited bug is confirmed real in the audited source at `sys/dev/disk/vn/vn.c:137,185,213,767`.

## Mechanism
vn_list is an SLIST mutated (INSERT/REMOVE/REMOVE_HEAD) from multiple call sites without any protecting token; vnget SLIST_FOREACH reads sle_next that may point to kfreed memory after concurrent remove.

## Fix
Add lwkt_token (vn_list_token) around all vn_list SLIST operations.

The full git-apply-able diff is in `fix.diff`.

## Build validation
fix.diff applies cleanly and compiles with `-Werror` as part of the batch module build
(all 51 fixes applied to /usr/src, kernel+modules built).

## Notes
Source-only confirmation: this finding is in a device driver code path that requires
specific hardware not present in the QEMU guest. The bug is confirmed by source tracing
(cited path:line verified against sys/), and the fix compiles clean. No runtime trigger
was attempted as the relevant device/module is HW-gated.
