Proof-of-Concept port of vhost-user-input written in Rust
- Device creates a UNIX socket to listen on
vhost-user-inputsuccessfully launches aVhostUserDaemonand implementsVhostUserInputBackend- Can also be identified through QEMU
- QEMU is able to ping the
features()andprotocol_features()methods - QEMU is successfully able to invoke
get_config()andset_config()methods on thevhost-user-inputdevice - Following the above, execution fails due to:
qemu-kvm: Received bad msg size- most likely due to either invalid
VirtioInputConfigdefault values - or due to how the structs are converted to a slice through
std::slice::as_raw_parts
- most likely due to either invalid
- QEMU is able to ping the
- https://patchwork.ozlabs.org/project/qemu-devel/cover/[email protected]/
- https://www.mail-archive.com/[email protected]/msg04694.html
- https://lists.gnu.org/archive/html/qemu-discuss/2017-02/msg00060.html
- https://patchwork.ozlabs.org/project/qemu-devel/patch/[email protected]/
- https://www.kraxel.org/blog/2015/06/new-member-in-the-virtio-family-input-devices/
- https://docs.huihoo.com/doxygen/linux/kernel/3.7/uapi_2linux_2virtio__config_8h_source.html#l00036