diff options
Diffstat (limited to 'net/tipc/node.c')
| -rw-r--r-- | net/tipc/node.c | 13 | 
1 files changed, 5 insertions, 8 deletions
diff --git a/net/tipc/node.c b/net/tipc/node.c index c77dd2f3c589..baaf93f12cbd 100644 --- a/net/tipc/node.c +++ b/net/tipc/node.c @@ -2232,8 +2232,8 @@ int tipc_nl_node_dump_monitor(struct sk_buff *skb, struct netlink_callback *cb)  	struct net *net = sock_net(skb->sk);  	u32 prev_bearer = cb->args[0];  	struct tipc_nl_msg msg; +	int bearer_id;  	int err; -	int i;  	if (prev_bearer == MAX_BEARERS)  		return 0; @@ -2243,16 +2243,13 @@ int tipc_nl_node_dump_monitor(struct sk_buff *skb, struct netlink_callback *cb)  	msg.seq = cb->nlh->nlmsg_seq;  	rtnl_lock(); -	for (i = prev_bearer; i < MAX_BEARERS; i++) { -		prev_bearer = i; -		err = __tipc_nl_add_monitor(net, &msg, prev_bearer); +	for (bearer_id = prev_bearer; bearer_id < MAX_BEARERS; bearer_id++) { +		err = __tipc_nl_add_monitor(net, &msg, bearer_id);  		if (err) -			goto out; +			break;  	} - -out:  	rtnl_unlock(); -	cb->args[0] = prev_bearer; +	cb->args[0] = bearer_id;  	return skb->len;  }  |