summaryrefslogtreecommitdiff
path: root/net/tipc/msg.c
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2020-12-11 17:48:50 +0000
committerMark Brown <broonie@kernel.org>2020-12-11 17:48:50 +0000
commit58f7553fa424fd0fd74e8b796d50c66014cebebe (patch)
tree8aecb1d047b1df2abbfa1ef323d2a724a6a61c77 /net/tipc/msg.c
parentdd91c555461261fed220ae29a508f508a0afeb43 (diff)
parent9326e4f1e5dd1a4410c429638d3c412b6fc17040 (diff)
Merge remote-tracking branch 'spi/for-5.10' into spi-linus
Diffstat (limited to 'net/tipc/msg.c')
-rw-r--r--net/tipc/msg.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/net/tipc/msg.c b/net/tipc/msg.c
index 52e93ba4d8e2..2a78aa701572 100644
--- a/net/tipc/msg.c
+++ b/net/tipc/msg.c
@@ -150,7 +150,8 @@ int tipc_buf_append(struct sk_buff **headbuf, struct sk_buff **buf)
if (fragid == FIRST_FRAGMENT) {
if (unlikely(head))
goto err;
- frag = skb_unshare(frag, GFP_ATOMIC);
+ if (skb_cloned(frag))
+ frag = skb_copy(frag, GFP_ATOMIC);
if (unlikely(!frag))
goto err;
head = *headbuf = frag;
@@ -582,7 +583,7 @@ bundle:
* @pos: position in outer message of msg to be extracted.
* Returns position of next msg
* Consumes outer buffer when last packet extracted
- * Returns true when when there is an extracted buffer, otherwise false
+ * Returns true when there is an extracted buffer, otherwise false
*/
bool tipc_msg_extract(struct sk_buff *skb, struct sk_buff **iskb, int *pos)
{