# DF-5315 — USB_FS_OPEN × USB_FS_OPEN double-entry: orphaned xfer + endpoint lockout

Two threads race `USB_FS_OPEN` on the same endpoint slot of a shared
ugen fd.  Both pass the unlocked `f->fs_xfer[ep] != NULL` check, both
run `usbd_transfer_setup()`; the second NULLs/overwrites the first's
pointer → the first xfer is orphaned: leaked M_USB block + leaked
`endpoint->refcount_alloc`.  After 63 orphans the endpoint is dead for
all consumers; memory leaks unboundedly.

## Build / Run (guest, as maxx with rw on /dev/usb/0.2.0)
    ./build.sh
    ./run.sh          # 20 s race + cleanup + post-cleanup probe
Success criterion (unpatched): `POST-CLEANUP USB_FS_OPEN FAILED:
Cannot allocate memory` + `vmstat -m` USB growth (~1 MB / 20 s).
On the fix-validated kernel: `POST-CLEANUP OPEN SUCCEEDED`.

Fix: the setup-claim hunk of `../DF-5314/fix.diff` (validated there).
