On Mon, Nov 02, 2026 at 09:22:20AM +0000, Jamin Lin wrote:
> The chardev handling follows hw/usb/redirect.c: take no data before the
> parser exists, do not write to a closed backend, do not re-enter the
> writer, and let a close that is still queued finish before a new
> connection opens.

Exercised the close/reopen path with usb-storage exported: three
usb-redir clients in a row on one server each get hello and
device_connect. Killing a client with SIGKILL during a direct-I/O dd
loop leaves the server running (ASan build), and a fresh client gets
sda back and reads what it wrote.

Reviewed-by: Junjie Cao <[email protected]>
Tested-by: Junjie Cao <[email protected]>

Reply via email to