diff options
Diffstat (limited to 'net/tipc')
-rw-r--r-- | net/tipc/bcast.c | 4 | ||||
-rw-r--r-- | net/tipc/msg.c | 8 |
2 files changed, 10 insertions, 2 deletions
diff --git a/net/tipc/bcast.c b/net/tipc/bcast.c index 7d99029df342..a140dd4a84af 100644 --- a/net/tipc/bcast.c +++ b/net/tipc/bcast.c | |||
@@ -233,7 +233,7 @@ static int tipc_bcast_xmit(struct net *net, struct sk_buff_head *pkts, | |||
233 | struct sk_buff_head xmitq; | 233 | struct sk_buff_head xmitq; |
234 | int rc = 0; | 234 | int rc = 0; |
235 | 235 | ||
236 | __skb_queue_head_init(&xmitq); | 236 | skb_queue_head_init(&xmitq); |
237 | tipc_bcast_lock(net); | 237 | tipc_bcast_lock(net); |
238 | if (tipc_link_bc_peers(l)) | 238 | if (tipc_link_bc_peers(l)) |
239 | rc = tipc_link_xmit(l, pkts, &xmitq); | 239 | rc = tipc_link_xmit(l, pkts, &xmitq); |
@@ -263,7 +263,7 @@ static int tipc_rcast_xmit(struct net *net, struct sk_buff_head *pkts, | |||
263 | u32 dst, selector; | 263 | u32 dst, selector; |
264 | 264 | ||
265 | selector = msg_link_selector(buf_msg(skb_peek(pkts))); | 265 | selector = msg_link_selector(buf_msg(skb_peek(pkts))); |
266 | __skb_queue_head_init(&_pkts); | 266 | skb_queue_head_init(&_pkts); |
267 | 267 | ||
268 | list_for_each_entry_safe(n, tmp, &dests->list, list) { | 268 | list_for_each_entry_safe(n, tmp, &dests->list, list) { |
269 | dst = n->value; | 269 | dst = n->value; |
diff --git a/net/tipc/msg.c b/net/tipc/msg.c index 121e59a1d0e7..17146c16ee2d 100644 --- a/net/tipc/msg.c +++ b/net/tipc/msg.c | |||
@@ -568,6 +568,14 @@ bool tipc_msg_lookup_dest(struct net *net, struct sk_buff *skb, int *err) | |||
568 | msg_set_destnode(msg, dnode); | 568 | msg_set_destnode(msg, dnode); |
569 | msg_set_destport(msg, dport); | 569 | msg_set_destport(msg, dport); |
570 | *err = TIPC_OK; | 570 | *err = TIPC_OK; |
571 | |||
572 | if (!skb_cloned(skb)) | ||
573 | return true; | ||
574 | |||
575 | /* Unclone buffer in case it was bundled */ | ||
576 | if (pskb_expand_head(skb, BUF_HEADROOM, BUF_TAILROOM, GFP_ATOMIC)) | ||
577 | return false; | ||
578 | |||
571 | return true; | 579 | return true; |
572 | } | 580 | } |
573 | 581 | ||