From: Sepherosa Ziehau Date: Thu, 16 Aug 2012 02:31:31 +0000 (+0800) Subject: tcp: Stringent TSO segment length assertion. X-Git-Tag: v3.2.0~383 X-Git-Url: http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff_plain/243cd0318af7e007a83a75f5c2cb6f55d5b91cf2 tcp: Stringent TSO segment length assertion. --- diff --git a/sys/netinet/tcp_output.c b/sys/netinet/tcp_output.c index d3d6a0f..a99cbbd 100644 --- a/sys/netinet/tcp_output.c +++ b/sys/netinet/tcp_output.c @@ -771,7 +771,8 @@ send: #endif if (use_tso) { - KASSERT(len > segsz, + /* TSO segment length must be multiple of segment size */ + KASSERT(len >= (2 * segsz) && (len % segsz == 0), ("invalid TSO len %ld, segsz %u", len, segsz)); } else { KASSERT(len <= segsz,