Date: Mon, 09 Jan 2017 00:37:13 +0000 From: bugzilla-noreply@freebsd.org To: freebsd-net@FreeBSD.org Subject: [Bug 181741] [kernel] [patch] Packet loss when 'control' messages are present with large data (sendmsg(2)) Message-ID: <bug-181741-2472-bHs6NWkbvz@https.bugs.freebsd.org/bugzilla/> In-Reply-To: <bug-181741-2472@https.bugs.freebsd.org/bugzilla/> References: <bug-181741-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=3D181741 --- Comment #12 from chris.torek@gmail.com --- The test code demonstrating the new bug is slightly wrong (or insufficient = at least). What's happening is that one of the attached patches also changes = the code in uipc_finalizecontrol() to always prepend SCM_CREDS to DGRAM sockets= .=20 The result is that you need a larger control-message buffer here so that you can get both the credentials (i.e., who sent you the fd) *and* the rights (= the fd itself). With the small control-message buffer you have room only for t= he prepended credentials. Apparently UNP_WANTCREDS is not set on the pre-connected SOCK_DGRAM socketp= air. So, dropping or altering that particular commit (so that it prepends SCM_C= REDS only if UNP_WANTCREDS is set, whether or not this is a one-shot stream-ish socket or repeating datagram socket) will make the test program run. Or, making its control message receive buffer bigger will also make the test program run... --=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-181741-2472-bHs6NWkbvz>