[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 00/16] net: Move legacy QEMU VLAN code into n
From: |
Laszlo Ersek |
Subject: |
Re: [Qemu-devel] [PATCH v2 00/16] net: Move legacy QEMU VLAN code into net/hub.c |
Date: |
Wed, 25 Jul 2012 03:06:35 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:10.0.6esrpre) Gecko/20120714 Thunderbird/10.0.6 |
I'd like to review v2 tomorrow (ahem, today), ie. not right now, but
this catches my eye:
On 07/24/12 17:35, Stefan Hajnoczi wrote:
> * Drop spurious closesocket(fd), probably merge conflict [Stefan]
I saw it last time and I thought you had fixed a leak with it on the
side. The function looks as follows (right after applying [01 .. 02]
from v1):
[net/socket.c]
376 static void net_socket_accept(void *opaque)
377 {
378 NetSocketListenState *s = opaque;
379 NetSocketState *s1;
380 struct sockaddr_in saddr;
381 socklen_t len;
382 int fd;
383
384 for(;;) {
385 len = sizeof(saddr);
386 fd = qemu_accept(s->fd, (struct sockaddr *)&saddr, &len);
387 if (fd < 0 && errno != EINTR) {
388 return;
389 } else if (fd >= 0) {
390 break;
391 }
392 }
393 s1 = net_socket_fd_init(s->peer, s->model, s->name, fd, 1);
394 if (!s1) {
395 closesocket(fd);
396 } else {
397 snprintf(s1->nc.info_str, sizeof(s1->nc.info_str),
398 "socket: connection from %s:%d",
399 inet_ntoa(saddr.sin_addr), ntohs(saddr.sin_port));
400 }
401 }
If net_socket_fd_init() fails, then the file descriptor extracted by
qemu_accept() should be closed. The fix is not strongly related to the
series but I figured I'd let it slide :)
... Oh. net_socket_fd_init() takes ownership even if it fails, in which
case it calls closesocket() itself.
Such functions need a banner :)
Laszlo
- [Qemu-devel] [PATCH v2 16/16] hub: add the support for hub own flow control, (continued)
- [Qemu-devel] [PATCH v2 16/16] hub: add the support for hub own flow control, Stefan Hajnoczi, 2012/07/24
- [Qemu-devel] [PATCH v2 06/16] net: Convert qdev_prop_vlan to peer with hub, Stefan Hajnoczi, 2012/07/24
- [Qemu-devel] [PATCH v2 07/16] net: Remove vlan code from net.c, Stefan Hajnoczi, 2012/07/24
- [Qemu-devel] [PATCH v2 14/16] net: cleanup deliver/deliver_iov func pointers, Stefan Hajnoczi, 2012/07/24
- [Qemu-devel] [PATCH v2 09/16] net: Rename non_vlan_clients to net_clients, Stefan Hajnoczi, 2012/07/24
- [Qemu-devel] [PATCH v2 11/16] net: Rename vc local variables to nc, Stefan Hajnoczi, 2012/07/24
- [Qemu-devel] [PATCH v2 10/16] net: Rename VLANClientState to NetClientState, Stefan Hajnoczi, 2012/07/24
- [Qemu-devel] [PATCH v2 15/16] net: determine if packets can be sent before net queue deliver packets, Stefan Hajnoczi, 2012/07/24
- [Qemu-devel] [PATCH v2 08/16] net: Remove VLANState, Stefan Hajnoczi, 2012/07/24
- [Qemu-devel] [PATCH v2 04/16] hub: Check that hubs are configured correctly, Stefan Hajnoczi, 2012/07/24
- Re: [Qemu-devel] [PATCH v2 00/16] net: Move legacy QEMU VLAN code into net/hub.c,
Laszlo Ersek <=
- Re: [Qemu-devel] [PATCH v2 00/16] net: Move legacy QEMU VLAN code into net/hub.c, Laszlo Ersek, 2012/07/25
- Re: [Qemu-devel] [PATCH v2 00/16] net: Move legacy QEMU VLAN code into net/hub.c, Stefan Hajnoczi, 2012/07/30