summaryrefslogtreecommitdiff
path: root/net/bridge
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2025-06-19 16:41:08 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2025-06-19 16:41:08 +0300
commit3394ade23d7e3934a166e973e664046ea6f559d4 (patch)
treef3078f5f2829da66e1e29e9d83917814af2f2356 /net/bridge
parentb0d369dbad20a8c9702607e7294d63c4a0c8e0fe (diff)
parenta2b47f77e740a21dbdcb12e2f2ca3c840299545a (diff)
downloadlinux-3394ade23d7e3934a166e973e664046ea6f559d4.tar.xz
Merge v6.15.3
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'net/bridge')
-rw-r--r--net/bridge/netfilter/nf_conntrack_bridge.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/net/bridge/netfilter/nf_conntrack_bridge.c b/net/bridge/netfilter/nf_conntrack_bridge.c
index 816bb0fde718..6482de4d8750 100644
--- a/net/bridge/netfilter/nf_conntrack_bridge.c
+++ b/net/bridge/netfilter/nf_conntrack_bridge.c
@@ -60,19 +60,19 @@ static int nf_br_ip_fragment(struct net *net, struct sock *sk,
struct ip_fraglist_iter iter;
struct sk_buff *frag;
- if (first_len - hlen > mtu ||
- skb_headroom(skb) < ll_rs)
+ if (first_len - hlen > mtu)
goto blackhole;
- if (skb_cloned(skb))
+ if (skb_cloned(skb) ||
+ skb_headroom(skb) < ll_rs)
goto slow_path;
skb_walk_frags(skb, frag) {
- if (frag->len > mtu ||
- skb_headroom(frag) < hlen + ll_rs)
+ if (frag->len > mtu)
goto blackhole;
- if (skb_shared(frag))
+ if (skb_shared(frag) ||
+ skb_headroom(frag) < hlen + ll_rs)
goto slow_path;
}