# DF-4351 — panic() on device-fed completion status bytes (DF-4042/DF-4308 family, narrow twin)

## Build / Run (guest model)
```
cc -O2 -Wall -o df4351 df4351.c
./df4351
```
Expected: 14 of 30 tabulated device-fed values lead to kernel panic,
including `q_status = QS_DONE|QS_DISC1 (0x82)` — a *legitimate* ABI
combination (QS_DISC1/QS_DISC2 are defined queue-state bits,
advlib.h:565-566) — and host_stat codes the driver itself enumerates
(QHSTA_D_LRAM_CMP_ERROR 0x81, QHSTA_M_MICRO_CODE_ERROR_HALT 0xA1).

## Root cause
- advansys.c:1092-1094 — panic unless the raw LRAM q_status byte is
  exactly QS_DONE or has QS_ABORTED set (copied unmasked by
  adv_copy_lram_doneq, advlib.c:816-818).
- advansys.c:1235-1237 — adv_done default arm panics on host_stat codes
  outside the handled set, including codes the switch itself lists only
  to panic on.

Hostile/corrupt SCSI peripheral or buggy firmware → instant kernel
panic from an ordinary completion.  Same family as DF-4042 (amd.c) and
DF-4308 (adwcam.c), both accepted at Low for this threat model.

## Fix
`fix.diff` (git apply --check clean): log + complete with error instead
of panicking at both sites.
