From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:52121) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UKWtj-0007JQ-7z for qemu-devel@nongnu.org; Tue, 26 Mar 2013 12:39:00 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UKWth-000558-Lx for qemu-devel@nongnu.org; Tue, 26 Mar 2013 12:38:55 -0400 Received: from mx1.redhat.com ([209.132.183.28]:54609) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UKWth-00054x-Eq for qemu-devel@nongnu.org; Tue, 26 Mar 2013 12:38:53 -0400 From: Juan Quintela In-Reply-To: <1364314072-2474-5-git-send-email-stefanha@redhat.com> (Stefan Hajnoczi's message of "Tue, 26 Mar 2013 17:07:52 +0100") References: <1364314072-2474-1-git-send-email-stefanha@redhat.com> <1364314072-2474-5-git-send-email-stefanha@redhat.com> Date: Tue, 26 Mar 2013 17:38:55 +0100 Message-ID: <87a9pqkteo.fsf@elfo.elfo> MIME-Version: 1.0 Content-Type: text/plain Subject: Re: [Qemu-devel] [PATCH 4/4] chardev: clear O_NONBLOCK on SCM_RIGHTS file descriptors Reply-To: quintela@redhat.com List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Stefan Hajnoczi Cc: Anthony Liguori , david.pravec@nethost.cz, mprivozn@redhat.com, Corey Bryant , qemu-devel@nongnu.org Stefan Hajnoczi wrote: > When we receive a file descriptor over a UNIX domain socket the > O_NONBLOCK flag is preserved. Clear the O_NONBLOCK flag and rely on > QEMU file descriptor users like migration, SPICE, VNC, block layer, and > others to set non-blocking only when necessary. > > This change ensures we don't accidentally expose O_NONBLOCK in the QMP > API. QMP clients should not need to get the non-blocking state > "correct". > > A recent real-world example was when libvirt passed a non-blocking TCP > socket for migration where we expected a blocking socket. The source > QEMU produced a corrupted migration stream since its code did not cope > with non-blocking sockets. > > Signed-off-by: Stefan Hajnoczi Acked-by: Juan Quintela