]> git.proxmox.com Git - qemu.git/commitdiff
net: tap-linux: Fix unhelpful error message
authorLuiz Capitulino <lcapitulino@redhat.com>
Fri, 14 Oct 2011 18:05:10 +0000 (15:05 -0300)
committerStefan Hajnoczi <stefanha@linux.vnet.ibm.com>
Tue, 1 Nov 2011 06:23:48 +0000 (06:23 +0000)
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.

Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
net/tap-linux.c

index ff8cad0ea04c13176103f76babdd03df105d458d..41d581b73445bade0aaa412255b0aee219b0086b 100644 (file)
@@ -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;
     }