Date: Sun, 16 Oct 2016 06:16:51 +0000 From: bugzilla-noreply@freebsd.org To: freebsd-net@FreeBSD.org Subject: [Bug 213232] [tcp] [panic] tcp_output() Panic String: tcp_output: len > IP_MAXPACKET on -head and stable/11 Message-ID: <bug-213232-2472-usyGL8jTdM@https.bugs.freebsd.org/bugzilla/> In-Reply-To: <bug-213232-2472@https.bugs.freebsd.org/bugzilla/> References: <bug-213232-2472@https.bugs.freebsd.org/bugzilla/>
next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D213232 Hiren Panchasara <hiren@FreeBSD.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |glebius@FreeBSD.org --- Comment #6 from Hiren Panchasara <hiren@FreeBSD.org> --- Now with r306769, len is int32_t so it can actually have -ve value, I am se= eing panic at /* * This KASSERT is here to catch edge cases at a well defined place. * Before, those had triggered (random) panic conditions further do= wn. */ KASSERT(len >=3D 0, ("[%s:%d]: len < 0", __func__, __LINE__)); Now, putting a bit of debugs above that I figured that at following path in 'else' case the len becomes -ve if (tso) { <blah> } else { len =3D tp->t_maxseg - optlen - ipoptlen; sendalot =3D 1; } I found that tp-t_maxseg =3D 2, optlen =3D 12, ipoptlen =3D 0 resulting in = len =3D -10. Clearly, t_maxseg which is supposed to be representing MSS at '2' looks wro= ng. I wonder if the changes in https://svnweb.freebsd.org/base?view=3Drevision&revision=3D293284 somewhere= caused this. Still investigating. --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-213232-2472-usyGL8jTdM>