Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 64beb8f3 authored by Florian Westphal's avatar Florian Westphal Committed by David S. Miller
Browse files

[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: default avatarFlorian Westphal <fw@strlen.de>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent dbbeb2f9
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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;