Re: [PATCH 3/3] Fix race in finding available vnc port

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

 



On 05/21/2010 10:00 AM, Jim Fehlig wrote:
> +        if (virBitmapGetBit(driver->reservedVNCPorts,
> +                            i - QEMU_VNC_PORT_MIN, &used) < 0)
> +            VIR_DEBUG("virBitmapGetBit failed on bit %d", i - QEMU_VNC_PORT_MIN);
> +
> +        if (used)
> +            continue;
> +
>          addr.sin_family = AF_INET;
>          addr.sin_port = htons(i);
>          addr.sin_addr.s_addr = htonl(INADDR_ANY);
> @@ -2654,6 +2669,8 @@ static int qemudNextFreeVNCPort(struct qemud_driver *driver ATTRIBUTE_UNUSED) {
>          if (bind(fd, (struct sockaddr*)&addr, sizeof(addr)) == 0) {
>              /* Not in use, lets grab it */
>              close(fd);
> +            /* Add port to bitmap of reserved ports */
> +            virBitmapSetBit(driver->reservedVNCPorts, i - QEMU_VNC_PORT_MIN);

We might as well be consistent, and check for failure here, too (adding
ATTRIBUTE_RETURN_CHECK in bitmap.h would have caught this automatically).

ACK with that squashed in.

-- 
Eric Blake   eblake@xxxxxxxxxx    +1-801-349-2682
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list

[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]