diff options
author | Ryo Hashimoto <hashimoto@google.com> | 2020-04-15 17:09:54 +0900 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-04-16 04:53:32 +0000 |
commit | e17b2b9059e38ba2d76b542949d89b4d26d837f9 (patch) | |
tree | 430edd85e0302bbe9a70648755fd44423a379180 /devices | |
parent | 40af8ee7482daa49f775963c983fbfc1afeb2006 (diff) | |
download | crosvm-e17b2b9059e38ba2d76b542949d89b4d26d837f9.tar crosvm-e17b2b9059e38ba2d76b542949d89b4d26d837f9.tar.gz crosvm-e17b2b9059e38ba2d76b542949d89b4d26d837f9.tar.bz2 crosvm-e17b2b9059e38ba2d76b542949d89b4d26d837f9.tar.lz crosvm-e17b2b9059e38ba2d76b542949d89b4d26d837f9.tar.xz crosvm-e17b2b9059e38ba2d76b542949d89b4d26d837f9.tar.zst crosvm-e17b2b9059e38ba2d76b542949d89b4d26d837f9.zip |
devices: virtio: wl: Stop using non-blocking sockets
Non-blocking sockets require proper EAGAIN handling in crosvm and the guest kernel. Without it, guest writing data faster than host reading results in the guest kernel returning ENODEV. Use blocking sockets to avoid this problem, and to be consistent with pipes which are blocking in wl.rs. BUG=b:153858766 TEST=Launch ARCVM Change-Id: If795ee0035dc057de0e155470e231d41f30d3a0e Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/2148985 Tested-by: Ryo Hashimoto <hashimoto@chromium.org> Tested-by: kokoro <noreply+kokoro@google.com> Reviewed-by: Zach Reizner <zachr@chromium.org> Commit-Queue: Ryo Hashimoto <hashimoto@chromium.org>
Diffstat (limited to 'devices')
-rw-r--r-- | devices/src/virtio/wl.rs | 3 |
1 files changed, 0 insertions, 3 deletions
diff --git a/devices/src/virtio/wl.rs b/devices/src/virtio/wl.rs index 65ad1cf..d59a801 100644 --- a/devices/src/virtio/wl.rs +++ b/devices/src/virtio/wl.rs @@ -546,9 +546,6 @@ impl fmt::Debug for WlVfd { impl WlVfd { fn connect<P: AsRef<Path>>(path: P) -> WlResult<WlVfd> { let socket = UnixStream::connect(path).map_err(WlError::SocketConnect)?; - socket - .set_nonblocking(true) - .map_err(WlError::SocketNonBlock)?; let mut vfd = WlVfd::default(); vfd.socket = Some(socket); Ok(vfd) |