Skip site navigation (1)Skip section navigation (2)
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>