diff options
Diffstat (limited to 'net/tipc')
| -rw-r--r-- | net/tipc/bearer.c | 2 | ||||
| -rw-r--r-- | net/tipc/msg.c | 1 | ||||
| -rw-r--r-- | net/tipc/netlink_compat.c | 6 | ||||
| -rw-r--r-- | net/tipc/node.c | 4 | 
4 files changed, 7 insertions, 6 deletions
diff --git a/net/tipc/bearer.c b/net/tipc/bearer.c index d174ee3254ee..767e0537dde5 100644 --- a/net/tipc/bearer.c +++ b/net/tipc/bearer.c @@ -596,7 +596,7 @@ static int tipc_l2_rcv_msg(struct sk_buff *skb, struct net_device *dev,  	rcu_read_lock();  	b = rcu_dereference_rtnl(dev->tipc_ptr);  	if (likely(b && test_bit(0, &b->up) && -		   (skb->pkt_type <= PACKET_BROADCAST))) { +		   (skb->pkt_type <= PACKET_MULTICAST))) {  		skb->next = NULL;  		tipc_rcv(dev_net(dev), skb, b);  		rcu_read_unlock(); diff --git a/net/tipc/msg.c b/net/tipc/msg.c index ab3087687a32..dcd90e6fa7c3 100644 --- a/net/tipc/msg.c +++ b/net/tipc/msg.c @@ -513,6 +513,7 @@ bool tipc_msg_reverse(u32 own_node,  struct sk_buff **skb, int err)  	/* Now reverse the concerned fields */  	msg_set_errcode(hdr, err); +	msg_set_non_seq(hdr, 0);  	msg_set_origport(hdr, msg_destport(&ohdr));  	msg_set_destport(hdr, msg_origport(&ohdr));  	msg_set_destnode(hdr, msg_prevnode(&ohdr)); diff --git a/net/tipc/netlink_compat.c b/net/tipc/netlink_compat.c index 9bfe886ab330..750949dfc1d7 100644 --- a/net/tipc/netlink_compat.c +++ b/net/tipc/netlink_compat.c @@ -258,13 +258,15 @@ static int tipc_nl_compat_dumpit(struct tipc_nl_compat_cmd_dump *cmd,  	arg = nlmsg_new(0, GFP_KERNEL);  	if (!arg) {  		kfree_skb(msg->rep); +		msg->rep = NULL;  		return -ENOMEM;  	}  	err = __tipc_nl_compat_dumpit(cmd, msg, arg); -	if (err) +	if (err) {  		kfree_skb(msg->rep); - +		msg->rep = NULL; +	}  	kfree_skb(arg);  	return err; diff --git a/net/tipc/node.c b/net/tipc/node.c index aeef8011ac7d..9b4dcb6a16b5 100644 --- a/net/tipc/node.c +++ b/net/tipc/node.c @@ -1455,10 +1455,8 @@ static bool tipc_node_check_state(struct tipc_node *n, struct sk_buff *skb,  	/* Initiate synch mode if applicable */  	if ((usr == TUNNEL_PROTOCOL) && (mtyp == SYNCH_MSG) && (oseqno == 1)) {  		syncpt = iseqno + exp_pkts - 1; -		if (!tipc_link_is_up(l)) { -			tipc_link_fsm_evt(l, LINK_ESTABLISH_EVT); +		if (!tipc_link_is_up(l))  			__tipc_node_link_up(n, bearer_id, xmitq); -		}  		if (n->state == SELF_UP_PEER_UP) {  			n->sync_point = syncpt;  			tipc_link_fsm_evt(l, LINK_SYNCH_BEGIN_EVT);  | 
