forked from mirrors/linux
		
	rtnetlink: use nlmsg_notify() in rtnetlink_send()
The netlink_{broadcast, unicast} don't deal with 'if (err > 0' statement
but nlmsg_{multicast, unicast} do. The nlmsg_notify() contains them.
so use nlmsg_notify() instead. so that the caller wouldn't deal with
'if (err > 0' statement.
v2: use nlmsg_notify() will do well.
Signed-off-by: Yajun Deng <yajun.deng@linux.dev>
Signed-off-by: David S. Miller <davem@davemloft.net>
			
			
This commit is contained in:
		
							parent
							
								
									63a9192b8f
								
							
						
					
					
						commit
						cfdf0d9ae7
					
				
					 1 changed files with 1 additions and 8 deletions
				
			
		| 
						 | 
				
			
			@ -710,15 +710,8 @@ static int rtnl_link_fill(struct sk_buff *skb, const struct net_device *dev)
 | 
			
		|||
int rtnetlink_send(struct sk_buff *skb, struct net *net, u32 pid, unsigned int group, int echo)
 | 
			
		||||
{
 | 
			
		||||
	struct sock *rtnl = net->rtnl;
 | 
			
		||||
	int err = 0;
 | 
			
		||||
 | 
			
		||||
	NETLINK_CB(skb).dst_group = group;
 | 
			
		||||
	if (echo)
 | 
			
		||||
		refcount_inc(&skb->users);
 | 
			
		||||
	netlink_broadcast(rtnl, skb, pid, group, GFP_KERNEL);
 | 
			
		||||
	if (echo)
 | 
			
		||||
		err = netlink_unicast(rtnl, skb, pid, MSG_DONTWAIT);
 | 
			
		||||
	return err;
 | 
			
		||||
	return nlmsg_notify(rtnl, skb, pid, group, echo, GFP_KERNEL);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
int rtnl_unicast(struct sk_buff *skb, struct net *net, u32 pid)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue