aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCoco Li <lixiaoyan@google.com>2021-12-23 22:24:40 +0000
committerJakub Kicinski <kuba@kernel.org>2021-12-23 19:20:06 -0800
commit736ef37fd9a44f5966e25319d08ff7ea99ac79e8 (patch)
tree6c7c32004e88aa61ddbc91a2e2e7513eab853983
parent6f6f0ac6648dfcc5f9bcf6fde7fb5b52094524a7 (diff)
downloadmac80211-736ef37fd9a44f5966e25319d08ff7ea99ac79e8.tar.gz
udp: using datalen to cap ipv6 udp max gso segments
The max number of UDP gso segments is intended to cap to UDP_MAX_SEGMENTS, this is checked in udp_send_skb(). skb->len contains network and transport header len here, we should use only data len instead. This is the ipv6 counterpart to the below referenced commit, which missed the ipv6 change Fixes: 158390e45612 ("udp: using datalen to cap max gso segments") Signed-off-by: Coco Li <lixiaoyan@google.com> Reviewed-by: Willem de Bruijn <willemb@google.com> Link: https://lore.kernel.org/r/20211223222441.2975883-1-lixiaoyan@google.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
-rw-r--r--net/ipv6/udp.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/ipv6/udp.c b/net/ipv6/udp.c
index a2caca6ccf114..8cde9efd79198 100644
--- a/net/ipv6/udp.c
+++ b/net/ipv6/udp.c
@@ -1204,7 +1204,7 @@ static int udp_v6_send_skb(struct sk_buff *skb, struct flowi6 *fl6,
kfree_skb(skb);
return -EINVAL;
}
- if (skb->len > cork->gso_size * UDP_MAX_SEGMENTS) {
+ if (datalen > cork->gso_size * UDP_MAX_SEGMENTS) {
kfree_skb(skb);
return -EINVAL;
}