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

Re: [Xen-devel] [PATCH v2 qemu-traditional] qemu: Fix race condition when opening ports



On 09/12/13 15:23, Frediano Ziglio wrote:
>> -----Original Message-----
>> From: xen-devel-bounces@xxxxxxxxxxxxx [mailto:xen-devel-
>> bounces@xxxxxxxxxxxxx] On Behalf Of Andrew Cooper
>> Sent: 09 December 2013 1:27 PM
>> To: Xen-devel
>> Cc: Andrew Cooper; Ian Jackson; Ian Campbell; Stefano Stabellini
>> Subject: [Xen-devel] [PATCH v2 qemu-traditional] qemu: Fix race condition
>> when opening ports
>>
>> Two Qemus can race to bind the same VNC port.  It is valid for multiple
>> bind()s on the same socket to succeed, but only the first listen() will
>> succeed.
>>
>> In the case that two Qemus are starting at the same time, and both trying to
>> grab the next free VNC port, the second one will fail with an EADDRINUSE,
>> and bail with a fatal error which renders the domain functionally useless.
>>
>> In the case that listen() fails with EADDRINUSE, rebind the socket again and
>> try for the next port.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
>> CC: Ian Campbell <Ian.Campbell@xxxxxxxxxx>
>> CC: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx>
>> CC: Stefano Stabellini <stefano.stabellini@xxxxxxxxxx>
>> Release-acked-by: George Dunlap <george.dunlap@xxxxxxxxxxxxx>
> Andrew, if you are upstream other people stuff you should at least give 
> credit to the original author.
>
> Frediano
>

The original author was "xenhg" according to the history. It is not even
clear from the original bug ticket who the author could have been.

In this case, my Signed-off-by line falls into category b) of the
Developer’s Certificate of Origin.

This is an unfortunate problem with attempting to weed through a
neglected patch queue where proper authorship was not considered at the
time of commit.

~Andrew

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.