socket: 0.928 graphic: 0.924 device: 0.907 performance: 0.905 user-level: 0.898 mistranslation: 0.887 PID: 0.849 semantic: 0.809 debug: 0.780 peripherals: 0.771 permissions: 0.755 kernel: 0.716 virtual: 0.708 i386: 0.707 architecture: 0.706 hypervisor: 0.697 network: 0.692 ppc: 0.684 x86: 0.665 files: 0.647 VMM: 0.633 risc-v: 0.566 assembly: 0.555 register: 0.548 boot: 0.537 vnc: 0.489 TCG: 0.478 KVM: 0.444 arm: 0.427 IVSHMEM device doesn't work for sharing memory with virtiofsd Description of problem: Trying to share a folder on the host to the guest with `virtiofsd` using the `ivshmem-plain` device doesn't work (for memory sharing), while using a NUMA node (with `-numa node,memdev=mem`) works just fine. Steps to reproduce: 1. Install `virtiofsd` 2. Run `/usr/libexec/virtiofsd --socket-path=/tmp/vhostqemu --shared-dir=$HOME --cache always` as a regular user (or with another shared directory, it doesn't matter) 3. Run QEMU with the aforementioned command line as a regular user 4. Wait a bit for the OS to load and `virtiofsd` should error out Additional information: `virtiofsd` logs: ``` [2024-05-09T19:49:15Z WARN virtiofsd::sandbox] Couldn't set the process uid as root: -1 [2024-05-09T19:49:15Z WARN virtiofsd::sandbox] Couldn't set the process gid as root: -1 [2024-05-09T19:49:15Z INFO virtiofsd] Waiting for vhost-user socket connection... [2024-05-09T19:49:16Z INFO virtiofsd] Client connected, servicing requests [2024-05-09T19:49:22Z ERROR virtiofsd] Waiting for daemon failed: HandleRequest(ReqHandlerError(Custom { kind: Other, error: MissingMemoryMapping })) ``` QEMU logs (after virtiofsd errors out and exits): ``` qemu: Failed to read msg header. Read -1 instead of 12. Original request 0. qemu: Failed to write msg. Wrote -1 instead of 20. qemu: vhost VQ 1 ring restore failed: -22: Invalid argument (22) qemu: Failed to set msg fds. qemu: vhost VQ 0 ring restore failed: -22: Invalid argument (22) qemu: Error starting vhost: 5 qemu: Failed to set msg fds. qemu: vhost_set_vring_call failed 22 qemu: Failed to set msg fds. qemu: vhost_set_vring_call failed 22 qemu: Unexpected end-of-file before all data were read ```