[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>
This commit is contained in:
parent
dbbeb2f991
commit
64beb8f3eb
|
@ -60,7 +60,7 @@ static int handle_cmd(struct sk_buff *skb, struct genl_info *info)
|
|||
rep_nlh = nlmsg_hdr(rep_buf);
|
||||
memcpy(rep_nlh, req_nlh, hdr_space);
|
||||
rep_nlh->nlmsg_len = rep_buf->len;
|
||||
genlmsg_unicast(rep_buf, req_nlh->nlmsg_pid);
|
||||
genlmsg_unicast(rep_buf, NETLINK_CB(skb).pid);
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
|
Loading…
Reference in New Issue