From: Mike Pecovnik Date: Mon, 24 Feb 2014 20:11:16 +0000 (+0100) Subject: net: Fix permission check in netlink_connect() X-Git-Tag: upstream/snapshot3+hdmi~3332^2~33 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=46833a86f7ab30101096d81117dd250bfae74c6f;p=platform%2Fadaptation%2Frenesas_rcar%2Frenesas_kernel.git net: Fix permission check in netlink_connect() netlink_sendmsg() was changed to prevent non-root processes from sending messages with dst_pid != 0. netlink_connect() however still only checks if nladdr->nl_groups is set. This patch modifies netlink_connect() to check for the same condition. Signed-off-by: Mike Pecovnik Signed-off-by: David S. Miller --- diff --git a/net/netlink/af_netlink.c b/net/netlink/af_netlink.c index fdf5135..04748ab6 100644 --- a/net/netlink/af_netlink.c +++ b/net/netlink/af_netlink.c @@ -1489,8 +1489,8 @@ static int netlink_connect(struct socket *sock, struct sockaddr *addr, if (addr->sa_family != AF_NETLINK) return -EINVAL; - /* Only superuser is allowed to send multicasts */ - if (nladdr->nl_groups && !netlink_capable(sock, NL_CFG_F_NONROOT_SEND)) + if ((nladdr->nl_groups || nladdr->nl_pid) && + !netlink_capable(sock, NL_CFG_F_NONROOT_SEND)) return -EPERM; if (!nlk->portid)