freebsd-skq/sys/compat/freebsd32
Jason A. Harmening f0645b3a06 freebsd32: fix padding of computed control message length for recvmsg()
Each control message region must be aligned on a 4-byte boundary on 32-bit
architectures. The 32-bit compat shim for recvmsg() gets the actual layout
right, but doesn't pad the payload length when computing msg_controllen for
the output message header. If a control message contains an unaligned
payload, such as the 1-byte TTL field in the example attached to PR 236737,
this can produce control message payload boundaries that extend beyond
the boundary reported by msg_controllen.

PR:	236737
Reported by:	Yuval Pavel Zholkover <paulzhol@gmail.com>
Reviewed by:	markj
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D19768
2019-03-30 23:43:58 +00:00
..
freebsd32_capability.c sys/compat: further adoption of SPDX licensing ID tags. 2017-11-27 15:13:23 +00:00
freebsd32_ioctl.c Move 32-bit compat support for FIODGNAME to the right place. 2018-10-26 17:59:25 +00:00
freebsd32_ioctl.h Move 32-bit compat support for FIODGNAME to the right place. 2018-10-26 17:59:25 +00:00
freebsd32_ipc.h Rename kernel-only members of semid_ds and msgid_ds. 2018-03-02 22:10:48 +00:00
freebsd32_misc.c freebsd32: fix padding of computed control message length for recvmsg() 2019-03-30 23:43:58 +00:00
freebsd32_misc.h sys/compat: further adoption of SPDX licensing ID tags. 2017-11-27 15:13:23 +00:00
freebsd32_proto.h Regenerate sysent files after having modified syscalls.master. 2019-01-13 00:38:55 +00:00
freebsd32_signal.h sys/compat: further adoption of SPDX licensing ID tags. 2017-11-27 15:13:23 +00:00
freebsd32_syscall.h Regen. 2018-12-07 15:19:00 +00:00
freebsd32_syscalls.c Regenerate sysent files after having modified syscalls.master. 2019-01-13 00:38:55 +00:00
freebsd32_sysent.c Regenerate sysent files after having modified syscalls.master. 2019-01-13 00:38:55 +00:00
freebsd32_systrace_args.c Regenerate sysent files after having modified syscalls.master. 2019-01-13 00:38:55 +00:00
freebsd32_util.h Add const to input-only char * arguments. 2018-11-02 20:50:22 +00:00
freebsd32.h sys/compat: further adoption of SPDX licensing ID tags. 2017-11-27 15:13:23 +00:00
Makefile Use the main capabilities.conf for freebsd32. 2018-11-14 00:46:02 +00:00
syscalls.conf Use the main capabilities.conf for freebsd32. 2018-11-14 00:46:02 +00:00
syscalls.master amd64 is the only arch that doesn't require padding for 32bits syscalls, so 2019-01-13 00:37:31 +00:00