mirror of
https://github.com/cloud-hypervisor/cloud-hypervisor.git
synced 2024-08-21 15:31:15 +00:00
The vhost crate does not support the need_reply flag yet, meaning we can't be sure the backend is properly setup before the guest goes on. One can run in a race condition where the VMM enables the vring, but never gets any acknowledgement, meaning it assumes everything went well and finalize the virtio device activation. Once the device is seen as ready by the guest, it keeps going by sending some messages through the virtqueues. Problem is, if it took some time for the backend to enable the queue, one of the backend thread might receive a kick from the guest while the corresponding queue is not enabled. This leads to the loss of the event as it is discarded because the queue is not enabled. Until vhost crate allows for requests with ACK, the way to mitigate this issue is by ignoring an event coming up on a queue that has not been enabled. Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com> |
||
---|---|---|
.. | ||
lib.rs |