Skip to content

Commit 158390e

Browse files
Jianguo Wukuba-moo
authored andcommitted
udp: using datalen to cap 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(): if (skb->len > cork->gso_size * UDP_MAX_SEGMENTS) { kfree_skb(skb); return -EINVAL; } skb->len contains network and transport header len here, we should use only data len instead. Fixes: bec1f6f ("udp: generate gso with UDP_SEGMENT") Signed-off-by: Jianguo Wu <[email protected]> Reviewed-by: Willem de Bruijn <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Jakub Kicinski <[email protected]>
1 parent 0416e7a commit 158390e

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

net/ipv4/udp.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -916,7 +916,7 @@ static int udp_send_skb(struct sk_buff *skb, struct flowi4 *fl4,
916916
kfree_skb(skb);
917917
return -EINVAL;
918918
}
919-
if (skb->len > cork->gso_size * UDP_MAX_SEGMENTS) {
919+
if (datalen > cork->gso_size * UDP_MAX_SEGMENTS) {
920920
kfree_skb(skb);
921921
return -EINVAL;
922922
}

0 commit comments

Comments
 (0)