NetBSD/sys/compat/linux32/common
mrg 39e3203eaa for sysv ipc stat operations, explicitly copy the exported parts
instead of the whole ds structure.

besides triggering a recently added assert in netbsd32, this stops
exposing kernel addresses.

copy the mode clamping to 0777 from sem to shm and msg.


while here, make sure that the compat callers to sysv_ipc clear
the contents of the compat structure before setting the result
members to ensure padding bytes are cleared.

don't set/copy _sem_base, _msg_first, _msg_last or _shm_internal.
even if used, which seems very dodgy, they leak KVAs as well.
possibly this may affect linux binaries, in particular, the
comments around _shm_internal ("XXX Oh well.") may mean apps
rely upon these but hopefully not -- the comments date back to
rev 1.1 in 1995.

the _key, _seq and _msg_cbytes members are exported as before as
i found multiple consumers of these (no less than ipcs(1), and
they appear to be useful for debugging and more.


XXX: the naming of compat functions have too many styles.  there
     are at least 3 different ones changed here.
2019-02-21 03:37:18 +00:00
..
linux32_dirent.c Rename min/max -> uimin/uimax for better honesty. 2018-09-03 16:29:22 +00:00
linux32_errno.h
linux32_exec.c Allow syscall_establish() to install new syscalls when the existing 2018-08-10 21:44:58 +00:00
linux32_exec.h
linux32_exec_elf32.c
linux32_fcntl.c
linux32_ioctl.c
linux32_ioctl.h
linux32_ipc.h
linux32_ipccall.c for sysv ipc stat operations, explicitly copy the exported parts 2019-02-21 03:37:18 +00:00
linux32_machdep.h
linux32_misc.c Return value pointers should be the last argument. 2017-04-10 15:04:32 +00:00
linux32_mman.c
linux32_mod.c Merge the [pgoyette-compat] branch 2019-01-27 02:08:33 +00:00
linux32_resource.c
linux32_sched.c
linux32_sched.h
linux32_sem.h
linux32_shm.h
linux32_siginfo.h
linux32_signal.c ignore signal 64 for now (go uses it) 2018-01-07 21:16:00 +00:00
linux32_signal.h
linux32_socket.c Fix pserialize enter/exit pairs in linux_getifconf and linux32_getifconf 2018-05-10 01:32:24 +00:00
linux32_socketcall.c
linux32_socketcall.h
linux32_sockio.h
linux32_stat.c
linux32_sysctl.c Remove compat_linux32 from the autoload list and add a enable/disable 2017-09-29 17:47:29 +00:00
linux32_sysctl.h - Cleanup for dynamic sysctl: 2018-08-22 01:05:21 +00:00
linux32_sysinfo.c
linux32_termios.c
linux32_termios.h
linux32_time.c
linux32_types.h
linux32_uid16.c
linux32_unistd.c Refactor pipe1() and correct a bug in sys_pipe2() (SYS_pipe2) 2017-12-26 08:30:57 +00:00
linux32_utsname.c
linux32_wait.c