Page MenuHomeFreeBSD

D46824.diff
No OneTemporary

D46824.diff

diff --git a/sys/netinet/tcp_output.c b/sys/netinet/tcp_output.c
--- a/sys/netinet/tcp_output.c
+++ b/sys/netinet/tcp_output.c
@@ -1078,13 +1078,18 @@
sbsndptr_adv(&so->so_snd, mb, len);
m->m_len += len;
} else {
+ int32_t old_len;
+
if (SEQ_LT(tp->snd_nxt, tp->snd_max))
msb = NULL;
else
msb = &so->so_snd;
+ old_len = len;
m->m_next = tcp_m_copym(mb, moff,
&len, if_hw_tsomaxsegcount,
if_hw_tsomaxsegsize, msb, hw_tls);
+ if (old_len != len)
+ flags &= ~TH_FIN;
if (len <= (tp->t_maxseg - optlen)) {
/*
* Must have ran out of mbufs for the copy

File Metadata

Mime Type
text/plain
Expires
Sun, Jan 12, 7:49 PM (21 h, 4 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
15772414
Default Alt Text
D46824.diff (622 B)

Event Timeline