diff options
Diffstat (limited to 'net/tipc/node.c')
-rw-r--r-- | net/tipc/node.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/net/tipc/node.c b/net/tipc/node.c index eb728397c810..198dbc7adbe1 100644 --- a/net/tipc/node.c +++ b/net/tipc/node.c | |||
@@ -1126,8 +1126,8 @@ int tipc_node_get_linkname(struct net *net, u32 bearer_id, u32 addr, | |||
1126 | strncpy(linkname, tipc_link_name(link), len); | 1126 | strncpy(linkname, tipc_link_name(link), len); |
1127 | err = 0; | 1127 | err = 0; |
1128 | } | 1128 | } |
1129 | exit: | ||
1130 | tipc_node_read_unlock(node); | 1129 | tipc_node_read_unlock(node); |
1130 | exit: | ||
1131 | tipc_node_put(node); | 1131 | tipc_node_put(node); |
1132 | return err; | 1132 | return err; |
1133 | } | 1133 | } |
@@ -1551,6 +1551,8 @@ void tipc_rcv(struct net *net, struct sk_buff *skb, struct tipc_bearer *b) | |||
1551 | 1551 | ||
1552 | /* Check/update node state before receiving */ | 1552 | /* Check/update node state before receiving */ |
1553 | if (unlikely(skb)) { | 1553 | if (unlikely(skb)) { |
1554 | if (unlikely(skb_linearize(skb))) | ||
1555 | goto discard; | ||
1554 | tipc_node_write_lock(n); | 1556 | tipc_node_write_lock(n); |
1555 | if (tipc_node_check_state(n, skb, bearer_id, &xmitq)) { | 1557 | if (tipc_node_check_state(n, skb, bearer_id, &xmitq)) { |
1556 | if (le->link) { | 1558 | if (le->link) { |