From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:55868) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RJV4X-0007yd-Cg for qemu-devel@nongnu.org; Thu, 27 Oct 2011 14:53:02 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RJV4V-0008Oo-N8 for qemu-devel@nongnu.org; Thu, 27 Oct 2011 14:53:01 -0400 Received: from mx1.redhat.com ([209.132.183.28]:22934) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RJV4V-0008Oi-CC for qemu-devel@nongnu.org; Thu, 27 Oct 2011 14:52:59 -0400 Date: Thu, 27 Oct 2011 16:51:39 -0200 From: Luiz Capitulino Message-ID: <20111027165139.5d5e4cfd@doriath> In-Reply-To: <20111014150510.610f6deb@doriath> References: <20111014150510.610f6deb@doriath> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH] net: tap-linux: Fix unhelpful error message List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Luiz Capitulino Cc: Stefan Hajnoczi , qemu-devel , stefanha@linux.vnet.ibm.com, mst@redhat.com On Fri, 14 Oct 2011 15:05:10 -0300 Luiz Capitulino wrote: > I'm getting: > > could not configure /dev/net/tun (tap%d): Operation not permitted > > When the ioctl() fails, ifr.ifr_name will most likely not be overwritten. > So we better only use it when ifname contains a string. I had forgotten about this one, but just got it again... Stefan, I think this is a candidate for the trivial tree. > > Signed-off-by: Luiz Capitulino > --- > > PS: Trivial tree candidate. > > net/tap-linux.c | 6 +++++- > 1 files changed, 5 insertions(+), 1 deletions(-) > > diff --git a/net/tap-linux.c b/net/tap-linux.c > index ff8cad0..41d581b 100644 > --- a/net/tap-linux.c > +++ b/net/tap-linux.c > @@ -73,7 +73,11 @@ int tap_open(char *ifname, int ifname_size, int *vnet_hdr, int vnet_hdr_required > pstrcpy(ifr.ifr_name, IFNAMSIZ, "tap%d"); > ret = ioctl(fd, TUNSETIFF, (void *) &ifr); > if (ret != 0) { > - error_report("could not configure %s (%s): %m", PATH_NET_TUN, ifr.ifr_name); > + if (ifname[0] != '\0') { > + error_report("could not configure %s (%s): %m", PATH_NET_TUN, ifr.ifr_name); > + } else { > + error_report("could not configure %s: %m", PATH_NET_TUN); > + } > close(fd); > return -1; > }