Hide Forgot
Description of problem: iproute2 was fixed incorrectly by iproute2-2.6.32-rtnl_send-hang.patch --- a/ip/iplink.c +++ b/ip/iplink.c @@ -158,8 +158,8 @@ static int iplink_have_newlink(void) req.n.nlmsg_type = RTM_NEWLINK; req.i.ifi_family = AF_UNSPEC; - rtnl_send(&rth, (char *)&req.n, req.n.nlmsg_len); - rtnl_listen(&rth, accept_msg, NULL); + if (rtnl_send(&rth, &req.n, req.n.nlmsg_len) == 0) + rtnl_listen(&rth, accept_msg, NULL); } return have_rtnl_newlink; } Look at the rtnl_send() function int rtnl_send(struct rtnl_handle *rth, const char *buf, int len) { return send(rth->fd, buf, len, 0); } send() returns the number of bytes sent, so with these patch we leave a response in a socket. Each next command will get a response for a previous command. I think we must check that rtnl_send() returns a positive value. Version-Release number of selected component (if applicable): iproute-2.6.32-31.el6.x86_64 How reproducible: 100% Steps to Reproduce: 1. Install old kernel (2.6.18) 2. # ip link set up dev eth0 RTNETLINK answers: Operation not supported Actual results: Can't bring a network interface up Expected results: It works fine w/o this patch Additional info:
https://bugzilla.redhat.com/show_bug.cgi?id=985526
You are right, the patch is wrong.
Created attachment 835274 [details] Correct patch proposed to upstream
Just for the reference: Corresponding Parallels issue id: PCLIN-32219 Corresponding OpenVZ bug: https://bugzilla.openvz.org/2843 Web Hosting Talk thread: http://www.webhostingtalk.com/showthread.php?t=1327600 Fixed iproute2 packages: http://download.openvz.org/.kir/bug2843/
Upstream is still working on fix. Current upstream sources does not provide complete fix. I recommend to apply my patch or the latter version posted in referenced mailing list which adds a warning to error output.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://rhn.redhat.com/errata/RHBA-2015-1331.html