mirror of
https://github.com/cloud-hypervisor/cloud-hypervisor.git
synced 2026-08-05 02:19:16 +00:00
The VHDX synchronous async I/O backend still converted owned AsyncIoOperation targets back into raw iovec slices before calling the VHDX read and write helpers. That kept pointer dereferences in the owned path and allowed a backend mistake to violate the safety boundary. Handle owned VHDX reads and writes through AsyncIoOperation copy helpers instead. The VHDX file operations still run synchronously, but data is copied through operation-owned buffers or guest-memory targets without reconstructing Rust slices from raw iovec pointers. Assisted-by: Codex:GPT-5 Signed-off-by: Dylan Reid <dgreid@fb.com>