diff options
Diffstat (limited to 'net/tipc/netlink.c')
| -rw-r--r-- | net/tipc/netlink.c | 21 | 
1 files changed, 7 insertions, 14 deletions
diff --git a/net/tipc/netlink.c b/net/tipc/netlink.c index 8bcd4985d0f..ad844d36534 100644 --- a/net/tipc/netlink.c +++ b/net/tipc/netlink.c @@ -47,7 +47,7 @@ static int handle_cmd(struct sk_buff *skb, struct genl_info *info)  	int hdr_space = nlmsg_total_size(GENL_HDRLEN + TIPC_GENL_HDRLEN);  	u16 cmd; -	if ((req_userhdr->cmd & 0xC000) && (!capable(CAP_NET_ADMIN))) +	if ((req_userhdr->cmd & 0xC000) && (!netlink_capable(skb, CAP_NET_ADMIN)))  		cmd = TIPC_CMD_NOT_NET_ADMIN;  	else  		cmd = req_userhdr->cmd; @@ -76,33 +76,26 @@ static struct genl_family tipc_genl_family = {  	.maxattr	= 0,  }; -static struct genl_ops tipc_genl_ops = { -	.cmd		= TIPC_GENL_CMD, -	.doit		= handle_cmd, +static struct genl_ops tipc_genl_ops[] = { +	{ +		.cmd		= TIPC_GENL_CMD, +		.doit		= handle_cmd, +	},  }; -static int tipc_genl_family_registered; -  int tipc_netlink_start(void)  {  	int res; -	res = genl_register_family_with_ops(&tipc_genl_family, -		&tipc_genl_ops, 1); +	res = genl_register_family_with_ops(&tipc_genl_family, tipc_genl_ops);  	if (res) {  		pr_err("Failed to register netlink interface\n");  		return res;  	} - -	tipc_genl_family_registered = 1;  	return 0;  }  void tipc_netlink_stop(void)  { -	if (!tipc_genl_family_registered) -		return; -  	genl_unregister_family(&tipc_genl_family); -	tipc_genl_family_registered = 0;  }  | 
