Make sure tcp_mss() has the same check as tcp_mss_update() to have t_maxseg set
to at least 64. This is still just a coverup to avoid kernel panic and not an actual fix. PR: 213232 Reviewed by: glebius MFC after: 1 week Sponsored by: Limelight Networks Differential Revision: https://reviews.freebsd.org/D8272
This commit is contained in:
parent
4299711473
commit
784ce8fad2
@ -3758,7 +3758,15 @@ tcp_mss(struct tcpcb *tp, int offer)
|
||||
(void)sbreserve_locked(&so->so_snd, bufsize, so, NULL);
|
||||
}
|
||||
SOCKBUF_UNLOCK(&so->so_snd);
|
||||
tp->t_maxseg = mss;
|
||||
/*
|
||||
* Sanity check: make sure that maxseg will be large
|
||||
* enough to allow some data on segments even if the
|
||||
* all the option space is used (40bytes). Otherwise
|
||||
* funny things may happen in tcp_output.
|
||||
*
|
||||
* XXXGL: shouldn't we reserve space for IP/IPv6 options?
|
||||
*/
|
||||
tp->t_maxseg = max(mss, 64);
|
||||
|
||||
SOCKBUF_LOCK(&so->so_rcv);
|
||||
if ((so->so_rcv.sb_hiwat == V_tcp_recvspace) && metrics.rmx_recvpipe)
|
||||
|
Loading…
Reference in New Issue
Block a user