diff options
author | Corey Minyard <cminyard@mvista.com> | 2017-11-02 11:19:15 -0500 |
---|---|---|
committer | Corey Minyard <cminyard@mvista.com> | 2017-11-02 11:19:15 -0500 |
commit | 6297fabd93f93182245383ba7de56bef829a796b (patch) | |
tree | 804f5d28ada61b402d56281c9a047308d26347f4 /net/tipc/msg.c | |
parent | d7e17fe4f7a7d961cc4375c7d868bd353a039bc7 (diff) | |
parent | ece1996a21eeb344b49200e627c6660111009c10 (diff) | |
download | linux-6297fabd93f93182245383ba7de56bef829a796b.tar.gz linux-6297fabd93f93182245383ba7de56bef829a796b.tar.xz |
Merge branch 'modules-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jeyu/linux into for-next
The IPMI SI driver was split into different pieces, merge the module
tree to accountfor that.
Signed-off-by: Corey Minyard <cminyard@mvista.com>
Diffstat (limited to 'net/tipc/msg.c')
-rw-r--r-- | net/tipc/msg.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/net/tipc/msg.c b/net/tipc/msg.c index 6ef379f004ac..17146c16ee2d 100644 --- a/net/tipc/msg.c +++ b/net/tipc/msg.c @@ -551,7 +551,7 @@ bool tipc_msg_lookup_dest(struct net *net, struct sk_buff *skb, int *err) return false; if (msg_errcode(msg)) return false; - *err = -TIPC_ERR_NO_NAME; + *err = TIPC_ERR_NO_NAME; if (skb_linearize(skb)) return false; msg = buf_msg(skb); @@ -568,6 +568,14 @@ bool tipc_msg_lookup_dest(struct net *net, struct sk_buff *skb, int *err) msg_set_destnode(msg, dnode); msg_set_destport(msg, dport); *err = TIPC_OK; + + if (!skb_cloned(skb)) + return true; + + /* Unclone buffer in case it was bundled */ + if (pskb_expand_head(skb, BUF_HEADROOM, BUF_TAILROOM, GFP_ATOMIC)) + return false; + return true; } |