From 93a7320e32a2b7463c4dc3cfb5a0c77c46d8e687 Mon Sep 17 00:00:00 2001 From: Luiz Capitulino Date: Fri, 14 Oct 2011 15:05:10 -0300 Subject: 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 Signed-off-by: Stefan Hajnoczi --- net/tap-linux.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'net/tap-linux.c') 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; } -- cgit v1.1