Skip to content

Commit ae4d75f

Browse files
committed
Merge remote-tracking branch 'stable/linux-6.12.y' into rpi-6.12.y
2 parents 725b41b + 8bf2f55 commit ae4d75f

5 files changed

Lines changed: 9 additions & 3 deletions

File tree

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# SPDX-License-Identifier: GPL-2.0
22
VERSION = 6
33
PATCHLEVEL = 12
4-
SUBLEVEL = 86
4+
SUBLEVEL = 87
55
EXTRAVERSION =
66
NAME = Baby Opossum Posse
77

net/ipv4/esp4.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -872,7 +872,8 @@ static int esp_input(struct xfrm_state *x, struct sk_buff *skb)
872872
nfrags = 1;
873873

874874
goto skip_cow;
875-
} else if (!skb_has_frag_list(skb)) {
875+
} else if (!skb_has_frag_list(skb) &&
876+
!skb_has_shared_frag(skb)) {
876877
nfrags = skb_shinfo(skb)->nr_frags;
877878
nfrags++;
878879

net/ipv4/ip_output.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1231,6 +1231,8 @@ static int __ip_append_data(struct sock *sk,
12311231
if (err < 0)
12321232
goto error;
12331233
copy = err;
1234+
if (!(flags & MSG_NO_SHARED_FRAGS))
1235+
skb_shinfo(skb)->flags |= SKBFL_SHARED_FRAG;
12341236
wmem_alloc_delta += copy;
12351237
} else if (!zc) {
12361238
int i = skb_shinfo(skb)->nr_frags;

net/ipv6/esp6.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -914,7 +914,8 @@ static int esp6_input(struct xfrm_state *x, struct sk_buff *skb)
914914
nfrags = 1;
915915

916916
goto skip_cow;
917-
} else if (!skb_has_frag_list(skb)) {
917+
} else if (!skb_has_frag_list(skb) &&
918+
!skb_has_shared_frag(skb)) {
918919
nfrags = skb_shinfo(skb)->nr_frags;
919920
nfrags++;
920921

net/ipv6/ip6_output.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1761,6 +1761,8 @@ static int __ip6_append_data(struct sock *sk,
17611761
if (err < 0)
17621762
goto error;
17631763
copy = err;
1764+
if (!(flags & MSG_NO_SHARED_FRAGS))
1765+
skb_shinfo(skb)->flags |= SKBFL_SHARED_FRAG;
17641766
wmem_alloc_delta += copy;
17651767
} else if (!zc) {
17661768
int i = skb_shinfo(skb)->nr_frags;

0 commit comments

Comments
 (0)