diff --git a/qemu-char.c b/qemu-char.c index 4d8c6cab41..d825b60177 100644 --- a/qemu-char.c +++ b/qemu-char.c @@ -2440,6 +2440,9 @@ static void unix_process_msgfd(CharDriverState *chr, struct msghdr *msg) if (fd < 0) continue; + /* O_NONBLOCK is preserved across SCM_RIGHTS so reset it */ + qemu_set_block(fd); + #ifndef MSG_CMSG_CLOEXEC qemu_set_cloexec(fd); #endif