Date: Fri, 10 Jul 2020 17:08:50 +0000 From: bugzilla-noreply@freebsd.org To: net@FreeBSD.org Subject: [Bug 224218] Kernel panic in SCTP/IpV6 server mode Message-ID: <bug-224218-7501-ywmfvutmI9@https.bugs.freebsd.org/bugzilla/> In-Reply-To: <bug-224218-7501@https.bugs.freebsd.org/bugzilla/> References: <bug-224218-7501@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=3D224218 Mark Johnston <markj@FreeBSD.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |markj@FreeBSD.org Resolution|--- |Overcome By Events Status|In Progress |Closed --- Comment #25 from Mark Johnston <markj@FreeBSD.org> --- Closing since the default stack size was increased on i386. The two major offenders in SCTP, sctp_auth_get_cookie_params() and sctp_load_addresses_from_init() are still there. They both allocate 3 512-= byte buffers on the stack. I can't see an easy way to fix that; all three buffe= rs are used to temporarily store data until we know the combined size of the d= ata, at which point a buffer to store all of it is allocated. It might be possible to avoid the temporary buffers by using m_pulldown() to ensure that the parameter headers are contiguous, and then use m_copydata()= to copy data into the key buffer once we know the combined length. This is a = bit tricky to get right and I have no setup to test such a change. However, it would shave 1536 bytes off the stack frame and avoid some extra copying. --=20 You are receiving this mail because: You are on the CC list for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-224218-7501-ywmfvutmI9>