On 2020/7/8 上午2:45, Laurent Vivier wrote:
v4: use qemu_try_set_nonblock() with vhostfd in net_init_tap_one(), and with fd in net_init_socket() v3: move qemu_fd_is_valid() checking into a new function qemu_try_set_nonblock(), and use qemu_try_set_nonblock() in qemu_set_nonblock(). v2: Add patch from Daniel to check the fd can be used I have updated Daniel's patch not to check for EINVAL on TUNGETIFF as I think we can avoid this special case because TUNGETIFF is available since kernel v2.6.27 (October 2008) Moreover I think the code was wrong as it was checking with -EINVAL and not EINVAL. Daniel P. Berrangé (1): net: detect errors from probing vnet hdr flag for TAP devices Laurent Vivier (1): net: check if the file descriptor is valid before using it include/qemu/sockets.h | 1 + net/socket.c | 9 +++++-- net/tap-bsd.c | 2 +- net/tap-linux.c | 8 +++--- net/tap-solaris.c | 2 +- net/tap-stub.c | 2 +- net/tap.c | 50 +++++++++++++++++++++++++++++------- net/tap_int.h | 2 +- util/oslib-posix.c | 26 +++++++++++++------ util/oslib-win32.c | 57 ++++++++++++++++++++++++------------------ 10 files changed, 108 insertions(+), 51 deletions(-)
Applied. Thanks