summaryrefslogtreecommitdiff
path: root/net/tipc/msg.c
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2020-12-11 17:49:01 +0000
committerMark Brown <broonie@kernel.org>2020-12-11 17:49:01 +0000
commit3e98a021cc85e7d52acdd1eae8a988e975ec5bf9 (patch)
treececfac58b9550a602555a02a9d583ed0f3378b38 /net/tipc/msg.c
parent58f7553fa424fd0fd74e8b796d50c66014cebebe (diff)
parent2fee9583198eb97b5351feda7bd825e0f778385c (diff)
Merge remote-tracking branch 'spi/for-5.11' into spi-next
Diffstat (limited to 'net/tipc/msg.c')
-rw-r--r--net/tipc/msg.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/net/tipc/msg.c b/net/tipc/msg.c
index 2a78aa701572..32c79c59052b 100644
--- a/net/tipc/msg.c
+++ b/net/tipc/msg.c
@@ -150,12 +150,11 @@ int tipc_buf_append(struct sk_buff **headbuf, struct sk_buff **buf)
if (fragid == FIRST_FRAGMENT) {
if (unlikely(head))
goto err;
- if (skb_cloned(frag))
- frag = skb_copy(frag, GFP_ATOMIC);
+ *buf = NULL;
+ frag = skb_unshare(frag, GFP_ATOMIC);
if (unlikely(!frag))
goto err;
head = *headbuf = frag;
- *buf = NULL;
TIPC_SKB_CB(head)->tail = NULL;
if (skb_is_nonlinear(head)) {
skb_walk_frags(head, tail) {