# DF-4566 — VCN rings have zero CS ib validation (no `.parse_cs` hook)

## What this is

A **static, code-provable** finding: every UVD and VCE ring in this DragonFly
tree carries a kernel-side ib parser (`.parse_cs`), but none of the three VCN
rings does. As a result, userspace-submitted VCN decode/encode/jpeg indirect
buffers — including the firmware decode *message* with its session handle and
frame-buffer (fb) address/size tables — reach the VCN firmware with **no
kernel validation whatsoever**.

## Build / Run

Not applicable — this is an absence-of-validation defect on AMD Raven (VCN)
hardware. The audit QEMU guest runs `X86_64_GENERIC` with no AMD GPU and no
`/dev/dri` (verified: `ls /dev/dri` → No such file or directory), so a GPU
command-submission PoC cannot be executed there. See `VERDICT.md` for the
static proof and `static_proof.txt` for the raw excerpts.

## Expected result (on real Raven hardware)

A render-node client submits a decode ib whose message references a buffer
that is NOT in the CS bo list (or a session handle that was never created);
upstream Linux rejects this in `amdgpu_vcn_dec_cs_msg()` — this tree accepts
it silently and the firmware dereferences it.
