[Bug 239250] need to define limits on unix socket control messages
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Tue Jul 16 15:58:50 UTC 2019
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=239250
Bug ID: 239250
Summary: need to define limits on unix socket control messages
Product: Base System
Version: CURRENT
Hardware: Any
OS: Any
Status: New
Severity: Affects Only Me
Priority: ---
Component: kern
Assignee: bugs at FreeBSD.org
Reporter: markj at FreeBSD.org
There are some undocumented limits that apply to control messages over unix
domain sockets, and SCM_RIGHTS messages in particular.
- Control messages must fit in an mbuf cluster, which is MCLBYTES (2KB) in
size.
- Control message data must be natively aligned, so 64-bit kernels are limited
to fewer rights per message than 32-bit kernels. This can be problematic when
running 32-bit applications on a 64-bit kernel.
- SCM_RIGHTS message contents must be translated to an internalized format
before they can be transmitted. Specifically, a 4-byte file descriptor is
converted to a pointer, and internalized messages must fit in an mbuf cluster
as well. So even though we can pack (2048-16)/sizeof(int) FDs in a single
SCM_RIGHTS message on amd64, the kernel can only handle (2048-16)/sizeof(void
*) FDs.
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-bugs
mailing list