summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorLuiz Capitulino <lcapitulino@redhat.com>2011-10-14 15:05:10 -0300
committerStefan Hajnoczi <stefanha@linux.vnet.ibm.com>2011-11-01 06:23:48 +0000
commit93a7320e32a2b7463c4dc3cfb5a0c77c46d8e687 (patch)
treee4ce2cb907c3da1841a48a3e092354c388f33cbb
parentff74c5a9a91c6dbf1017195462aa4176f7381240 (diff)
downloadfocaccia-qemu-93a7320e32a2b7463c4dc3cfb5a0c77c46d8e687.tar.gz
focaccia-qemu-93a7320e32a2b7463c4dc3cfb5a0c77c46d8e687.zip
net: tap-linux: Fix unhelpful error message
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>
-rw-r--r--net/tap-linux.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/net/tap-linux.c b/net/tap-linux.c
index ff8cad0ea0..41d581b734 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;
     }