qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 4/4] chardev: clear O_NONBLOCK on SCM_RIGHTS fil


From: Eric Blake
Subject: Re: [Qemu-devel] [PATCH 4/4] chardev: clear O_NONBLOCK on SCM_RIGHTS file descriptors
Date: Tue, 26 Mar 2013 10:40:41 -0600
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130311 Thunderbird/17.0.4

On 03/26/2013 10:07 AM, 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 <address@hidden>
> ---
>  qemu-char.c | 3 +++
>  1 file changed, 3 insertions(+)

Reviewed-by: Eric Blake <address@hidden>

Covers both 'getfd' and 'add-fd' paths.

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]