Commit 64beb8f3eb3c724add64ca3272915528e10213c1

Authored by Florian Westphal
Committed by David S. Miller
1 parent dbbeb2f991

[TIPC]: Fix infinite loop in netlink handler

The tipc netlink config handler uses the nlmsg_pid from the
request header as destination for its reply. If the application
initialized nlmsg_pid to 0, the reply is looped back to the kernel,
causing hangup. Fix: use nlmsg_pid of the skb that triggered the
request.

Signed-off-by: Florian Westphal <fw@strlen.de>
Signed-off-by: David S. Miller <davem@davemloft.net>

Showing 1 changed file with 1 additions and 1 deletions Side-by-side Diff

... ... @@ -60,7 +60,7 @@
60 60 rep_nlh = nlmsg_hdr(rep_buf);
61 61 memcpy(rep_nlh, req_nlh, hdr_space);
62 62 rep_nlh->nlmsg_len = rep_buf->len;
63   - genlmsg_unicast(rep_buf, req_nlh->nlmsg_pid);
  63 + genlmsg_unicast(rep_buf, NETLINK_CB(skb).pid);
64 64 }
65 65  
66 66 return 0;