1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-26 11:47:31 +00:00
freebsd/sys/compat
Marcel Moolenaar 0fa211be96 In freebsd32_sendmsg(), replace the call to sockargs() followed by a
call to freebsd32_convert_msg_in() with freebsd32_copyin_control() to
readin and convert in a single step. This makes it simpler to put all
the control messages in a single mbuf or mbuf cluster as per the
limitations imposed upon us by ip6_setpktopts().

The logic is as follows:
1.  Go over the array of control messages to determine overall size
    and include extra padding for proper alignment as we go.
2.  Get a mbuf or mbuf cluster as needed or fail if the overall
    (adjusted) size is larger than a cluster.
3.  Go over the array of control messages again, but now copy them
    into kernel space and into aligned offsets.
4.  Update the length of the control message to take padding between
    the header and the data into account (but not for padding added
    between one control message and the next).

Obtained from:	Juniper Networks, Inc.
MFC after:	1 week
2014-04-05 18:56:01 +00:00
..
freebsd32 In freebsd32_sendmsg(), replace the call to sockargs() followed by a 2014-04-05 18:56:01 +00:00
ia32
linprocfs Rename global cnt to vm_cnt to avoid shadowing. 2014-03-22 10:26:09 +00:00
linsysfs Provide includes that are needed in these files, and before were read 2013-10-26 18:18:50 +00:00
linux Rename global cnt to vm_cnt to avoid shadowing. 2014-03-22 10:26:09 +00:00
ndis Include necessary headers that now are available due to pollution 2013-10-28 07:29:16 +00:00
netbsd
svr4 Rename global cnt to vm_cnt to avoid shadowing. 2014-03-22 10:26:09 +00:00
x86bios