]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
MFC r340302:
authorbrooks <brooks@FreeBSD.org>
Mon, 12 Nov 2018 21:51:36 +0000 (21:51 +0000)
committerbrooks <brooks@FreeBSD.org>
Mon, 12 Nov 2018 21:51:36 +0000 (21:51 +0000)
commit3bf9f8b2c3d312affa3be4e9e88c71246384298f
tree2949b4d859c2e2875568fc512697df79f5f823e6
parent2818037322b78aef88fb784cf65ad632cecb00b0
MFC r340302:

Fix freebsd32 mknod(at).

As dev_t is now a 64-bit integer, it requires special handling as a
system call argument.  64-bit arguments are split between two 64-bit
integers due to the way arguments are promoted to allow reuse of most
system call implementations.  They must be reassembled before use.
Further, 64-bit arguments at an odd offset (counting from zero) are
padded and slid to the next slot on powerpc and mips.  Fix the
non-COMPAT11 system call by adding a freebsd32_mknodat() and
appropriately padded declerations.

The COMPAT11 system calls are fully compatible with the 64-bit
implementations so remove the freebsd32_ versions.

Use uint32_t consistently as the type of the old dev_t.  This matches
the old definition.

Reviewed by: kib
Approved by: re (gjb)
Sponsored by: DARPA, AFRL
Differential Revision: https://reviews.freebsd.org/D17928
sys/compat/freebsd32/freebsd32_misc.c
sys/compat/freebsd32/syscalls.master
sys/kern/syscalls.master