Home | History | Annotate | Download | only in netbsd32
History log of /src/sys/compat/netbsd32/netbsd32_wait.c
RevisionDateAuthorComments
 1.26  05-Dec-2021  msaitoh s/sytle/style/ in comment.
 1.25  07-Sep-2021  riastradh sys/compat: Memset zero before copyout.

Just in case of uninitialized padding which would lead to kernel
stack disclosure. If the compiler can prove the memset redundant
then it can optimize it away; otherwise better safe than sorry.
 1.24  15-Oct-2020  rin wait4(2): make error paths match with that of native wait4(2):

https://nxr.netbsd.org/xref/src/sys/kern/kern_exit.c#720
 1.23  23-Sep-2016  skrll branches: 1.23.8; 1.23.20;
Add netbsd32_clock_getcpuclockid2 and netbsd32_wait6 functions
 1.22  03-Nov-2012  njoly branches: 1.22.14; 1.22.18;
Move rusage computation to a new getrusage1() function. Adjust all
compat/emulations to make use of it.
 1.21  04-Nov-2009  rmind branches: 1.21.12; 1.21.22;
do_sys_wait(): fix previous by checking for ru != NULL. Noticed by
Onno van der Linden. Also, remove redundant arguments (seems that
was_zombie was not used since rev 1.177 ?).
 1.20  11-Jan-2009  christos merge christos-time_t
 1.19  29-May-2008  mrg branches: 1.19.6; 1.19.12;
remove clause #3 from my license where there are no other
copyright holders involved.
 1.18  24-Apr-2008  ad branches: 1.18.2; 1.18.4;
Merge proc::p_mutex and proc::p_smutex into a single adaptive mutex, since
we no longer need to guard against access from hardware interrupt handlers.

Additionally, if cloning a process with CLONE_SIGHAND, arrange to have the
child process share the parent's lock so that signal state may be kept in
sync. Partially addresses PR kern/37437.
 1.17  20-Dec-2007  dsl branches: 1.17.6; 1.17.8;
Convert all the system call entry points from:
int foo(struct lwp *l, void *v, register_t *retval)
to:
int foo(struct lwp *l, const struct foo_args *uap, register_t *retval)
Fixup compat code to not write into 'uap' and (in some cases) to actually
pass a correctly formatted 'uap' structure with the right name to the
next routine.
A few 'compat' routines that just call standard ones have been deleted.
All the 'compat' code compiles (along with the kernels required to test
build it).
98% done by automated scripts.
 1.16  08-Dec-2007  dsl branches: 1.16.4;
ANSIfy most of the function definitions in sys/compat (but not ndis).
All by the magic of sed ...
 1.15  07-May-2007  dsl branches: 1.15.6; 1.15.8; 1.15.16;
Split sys_wait4() so that compat code can fiddle with the returned 'status'
and 'rusage' without having to copy data to/from stackgap buffers.
The old split (find_stopped_child) could be removed.
amd64 seems to run netbsd32, linux and linux32 emulations. sparc64 compiles.
 1.14  18-Mar-2007  dsl Change all the NETBSD32PTR64(SCARG(uap, xxx))) to SCARG_P32(uap, xxx).
 1.13  16-Mar-2007  dsl remove all the double (and triple) casts used to convert 32bit userspace
pointers to and from 64bit kernel pointers. Instead use the defines
NETBSD32PTR64(p32) to read a 32bit pointer and (the new) NETBSD32PTR32(p32,p64)
to write a 32bit pointer throughout.
The 32bit pointer is now a struct to enforce the above.
amd64 (with linux emul) and sparc64 will both compile (when the arch stuff
goes in soon), and amd64 still runs some i386 binaries.
 1.12  04-Mar-2007  christos branches: 1.12.2; 1.12.4; 1.12.6;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.11  09-Feb-2007  ad branches: 1.11.2;
Merge newlock2 to head.
 1.10  11-Dec-2005  christos branches: 1.10.20;
merge ktrace-lwp.
 1.9  19-Aug-2005  christos Fix lossage I created with the 64 bit ino_t change.
 1.8  22-Jul-2005  cube Remove duplication of code for netbsd32_wait4() by using stackgap(9).
 1.7  10-Jul-2005  cube Report changes from sys_wait4().
 1.6  14-Feb-2003  dsl branches: 1.6.2; 1.6.18;
Use find_stopped_child() and proc_free() in compat wait() code to
avoid code duplication.
(approved by christos)
 1.5  18-Jan-2003  thorpej Merge the nathanw_sa branch.
 1.4  23-Oct-2002  scw branches: 1.4.2;
In preparation for COMPAT_NETBSD32 on SH-5:

- The MD netbsd32_machdep.h header now defines the 32-bit pointer type
instead of using u_int32_t everywhere,
- The MD netbsd32_machdep.h header now defines a macro (at least on
current implementations) which converts a 32-bit pointer to its 64-bit
equivalent,
- Change the MI code to utilise the above two items in all the right places,
- Implement netbsd32___sigaction_sigtramp().

Tested on Sparc64 by Matt Green.
 1.3  28-Jul-2002  jdolecek Convert to use p_opptr rather than p_oppid. Part of fix for
security/14444 by David Sainty.
 1.2  13-Nov-2001  lukem branches: 1.2.8; 1.2.10;
add RCSIDs (including regeneration of files as appropriate)
 1.1  08-Feb-2001  mrg branches: 1.1.2; 1.1.4; 1.1.6;
split up netbsd32_netbsd.c into 9 new files, leaving only those syscalls that
have no special interpretations besides simple syscall args conversion.
 1.1.6.2  06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.1.6.1  10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.4.4  11-Nov-2002  nathanw Catch up to -current
 1.1.4.3  23-Aug-2002  petrov lwpification.
 1.1.4.2  01-Aug-2002  nathanw Catch up to -current.
 1.1.4.1  14-Nov-2001  nathanw Catch up to -current.
 1.1.2.2  11-Feb-2001  bouyer Sync with HEAD.
 1.1.2.1  08-Feb-2001  bouyer file netbsd32_wait.c was added on branch thorpej_scsipi on 2001-02-11 19:14:23 +0000
 1.2.10.1  29-Jul-2002  lukem Pull up revision 1.3 (requested by jdolocek in ticket #557):
Convert to use p_opptr rather than p_oppid. Part of fix for
security/14444 by David Sainty.
 1.2.8.1  29-Aug-2002  gehenna catch up with -current.
 1.4.2.1  18-Dec-2002  gmcgarry Merge pcred and ucred, and poolify. TBD: check backward compatibility
and factor-out some higher-level functionality.
 1.6.18.4  21-Jan-2008  yamt sync with head
 1.6.18.3  03-Sep-2007  yamt sync with head.
 1.6.18.2  26-Feb-2007  yamt sync with head.
 1.6.18.1  21-Jun-2006  yamt sync with head.
 1.6.2.1  10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.10.20.1  17-Nov-2006  ad Checkpoint work in progress.
 1.11.2.3  17-May-2007  yamt sync with head.
 1.11.2.2  24-Mar-2007  yamt sync with head.
 1.11.2.1  12-Mar-2007  rmind Sync with HEAD.
 1.12.6.2  29-Mar-2007  reinoud Pullup to -current
 1.12.6.1  18-Mar-2007  reinoud First attempt to bring branch in sync with HEAD
 1.12.4.1  11-Jul-2007  mjf Sync with head.
 1.12.2.2  27-May-2007  ad Sync with head.
 1.12.2.1  10-Apr-2007  ad Sync with head.
 1.15.16.1  26-Dec-2007  ad Sync with head.
 1.15.8.1  09-Jan-2008  matt sync with HEAD
 1.15.6.1  09-Dec-2007  jmcneill Sync with HEAD.
 1.16.4.1  02-Jan-2008  bouyer Sync with HEAD
 1.17.8.2  04-Jun-2008  yamt sync with head
 1.17.8.1  18-May-2008  yamt sync with head.
 1.17.6.2  17-Jan-2009  mjf Sync with HEAD.
 1.17.6.1  02-Jun-2008  mjf Sync with HEAD.
 1.18.4.1  23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.18.2.2  11-Mar-2010  yamt sync with head
 1.18.2.1  04-May-2009  yamt sync with head.
 1.19.12.2  04-Jan-2009  christos add new syscalls.
 1.19.12.1  29-May-2008  christos file netbsd32_wait.c was added on branch christos-time_t on 2009-01-04 01:56:02 +0000
 1.19.6.1  19-Jan-2009  skrll Sync with HEAD.
 1.21.22.2  03-Dec-2017  jdolecek update from HEAD
 1.21.22.1  20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.21.12.1  16-Jan-2013  yamt sync with (a bit old) head
 1.22.18.1  04-Nov-2016  pgoyette Sync with HEAD
 1.22.14.1  05-Oct-2016  skrll Sync with HEAD
 1.23.20.1  03-Aug-2022  martin Pull up following revision(s), all via patch
(requested by riastradh in ticket #1487):

sys/compat/linux/arch/i386/linux_machdep.c: revision 1.168
sys/compat/sunos/sunos_misc.c: revision 1.177
sys/compat/netbsd32/netbsd32_compat_50.c: revision 1.52
sys/compat/common/kern_resource_43.c: revision 1.23
sys/compat/netbsd32/netbsd32_conv.h: revision 1.46
sys/compat/linux/arch/i386/linux_ptrace.c: revision 1.35
sys/compat/common/vfs_syscalls_12.c: revision 1.38
sys/compat/ultrix/ultrix_misc.c: revision 1.126
sys/compat/common/kern_sig_43.c: revision 1.37
sys/compat/linux/common/linux_mtio.c: revision 1.8
sys/compat/freebsd/freebsd_misc.c: revision 1.34
sys/compat/freebsd/freebsd_machdep.c: revision 1.5
sys/compat/linux/common/linux_olduname.c: revision 1.67
sys/compat/linux/arch/mips/linux_machdep.c: revision 1.44
sys/compat/freebsd/freebsd_sched.c: revision 1.23
sys/compat/ossaudio/ossaudio.c: revision 1.84
sys/compat/sys/time_types.h: revision 1.6
sys/compat/linux/arch/powerpc/linux_machdep.c: revision 1.51
sys/compat/common/ieee80211_20.c: revision 1.7
sys/compat/linux/common/linux_file.c: revision 1.119
sys/compat/linux/arch/arm/linux_machdep.c: revision 1.34
sys/compat/netbsd32/netbsd32_wait.c: revision 1.25
sys/compat/linux32/common/linux32_time.c: revision 1.38
sys/compat/linux/arch/powerpc/linux_ptrace.c: revision 1.33
sys/compat/linux/arch/alpha/linux_machdep.c: revision 1.52
sys/compat/linux32/arch/amd64/linux32_machdep.c: revision 1.46
sys/compat/netbsd32/netbsd32_compat_12.c: revision 1.36
sys/compat/ultrix/ultrix_ioctl.c: revision 1.39
sys/compat/linux/common/linux_misc.c: revision 1.252
sys/compat/linux/common/linux_hdio.c: revision 1.19
sys/compat/sunos/sunos_ioctl.c: revision 1.71
sys/compat/linux/common/linux_sched.c: revision 1.79
sys/compat/common/kern_info_43.c: revision 1.40
sys/compat/linux32/common/linux32_exec_elf32.c: revision 1.20
sys/compat/linux/common/linux_socket.c: revision 1.153
sys/compat/linux/arch/amd64/linux_machdep.c: revision 1.60
sys/compat/common/vfs_syscalls_43.c: revision 1.68
sys/compat/linux/arch/powerpc/linux_exec_powerpc.c: revision 1.25
sys/compat/netbsd32/netbsd32_ptrace.c: revision 1.9
sys/compat/common/kern_time_50.c: revision 1.37
sys/compat/netbsd32/netbsd32_compat_20.c: revision 1.42
sys/compat/linux/common/linux_cdrom.c: revision 1.28
sys/compat/linux/arch/m68k/linux_machdep.c: revision 1.43
sys/compat/common/kern_info_09.c: revision 1.22
sys/compat/linux32/common/linux32_resource.c: revision 1.12
sys/compat/linux/common/linux_oldolduname.c: revision 1.67
sys/compat/common/if_media_80.c: revision 1.4
sys/compat/linux/arch/alpha/linux_osf1.c: revision 1.5
sys/compat/netbsd32/netbsd32_nfssvc.c: revision 1.8
sys/compat/linux32/common/linux32_signal.c: revision 1.21
sys/compat/common/kern_sig_13.c: revision 1.22
sys/compat/sunos32/sunos32_ioctl.c: revision 1.36
sys/compat/netbsd32/netbsd32_compat_43.c: revision 1.62
sys/compat/linux/arch/arm/linux_ptrace.c: revision 1.23
sys/compat/netbsd32/netbsd32_time.c: revision 1.56
sys/compat/linux/common/linux_signal.c: revision 1.84
sys/compat/netbsd32/netbsd32_signal.c: revision 1.52
sys/compat/sunos32/sunos32_misc.c: revision 1.85
sys/compat/linux/common/linux_time.c: revision 1.40
sys/compat/linux/common/linux_fdio.c: revision 1.14
sys/compat/common/vfs_syscalls_30.c: revision 1.43

sys/compat: Memset zero before copyout.

Just in case of uninitialized padding which would lead to kernel
stack disclosure. If the compiler can prove the memset redundant
then it can optimize it away; otherwise better safe than sorry.
 1.23.8.1  21-Jun-2023  martin Pull up following revision(s) (requested by riastradh in ticket #1836):

sys/compat/linux/arch/i386/linux_machdep.c: revision 1.168
sys/compat/sunos/sunos_misc.c: revision 1.177
sys/compat/netbsd32/netbsd32_compat_50.c: revision 1.52
sys/compat/common/kern_resource_43.c: revision 1.23
sys/compat/netbsd32/netbsd32_conv.h: revision 1.46
sys/compat/linux/arch/i386/linux_ptrace.c: revision 1.35
sys/compat/common/vfs_syscalls_12.c: revision 1.38
sys/compat/ultrix/ultrix_misc.c: revision 1.126
sys/compat/common/kern_sig_43.c: revision 1.37
sys/compat/linux/common/linux_mtio.c: revision 1.8
sys/compat/freebsd/freebsd_misc.c: revision 1.34
sys/compat/linux/common/linux_olduname.c: revision 1.67
sys/compat/linux/arch/mips/linux_machdep.c: revision 1.44
sys/compat/freebsd/freebsd_sched.c: revision 1.23
sys/compat/ossaudio/ossaudio.c: revision 1.84
sys/compat/sys/time_types.h: revision 1.6
sys/compat/linux/arch/powerpc/linux_machdep.c: revision 1.51
sys/compat/linux/common/linux_file.c: revision 1.119
sys/compat/linux/arch/arm/linux_machdep.c: revision 1.34
sys/compat/netbsd32/netbsd32_wait.c: revision 1.25
sys/compat/linux32/common/linux32_time.c: revision 1.38
sys/compat/linux/arch/powerpc/linux_ptrace.c: revision 1.33
sys/compat/linux/arch/alpha/linux_machdep.c: revision 1.52
sys/compat/linux32/arch/amd64/linux32_machdep.c: revision 1.46
sys/compat/netbsd32/netbsd32_compat_12.c: revision 1.36
sys/compat/ultrix/ultrix_ioctl.c: revision 1.39
sys/compat/linux/common/linux_misc.c: revision 1.252
sys/compat/linux/common/linux_hdio.c: revision 1.19
sys/compat/sunos/sunos_ioctl.c: revision 1.71
sys/compat/linux/common/linux_sched.c: revision 1.79
sys/compat/common/kern_info_43.c: revision 1.40
sys/compat/linux32/common/linux32_exec_elf32.c: revision 1.20
sys/compat/linux/common/linux_socket.c: revision 1.153
sys/compat/linux/arch/amd64/linux_machdep.c: revision 1.60
sys/compat/common/vfs_syscalls_43.c: revision 1.68
sys/compat/linux/arch/powerpc/linux_exec_powerpc.c: revision 1.25
sys/compat/netbsd32/netbsd32_ptrace.c: revision 1.9
sys/compat/common/kern_time_50.c: revision 1.37
sys/compat/netbsd32/netbsd32_compat_20.c: revision 1.42
sys/compat/linux/common/linux_cdrom.c: revision 1.28
sys/compat/linux/arch/m68k/linux_machdep.c: revision 1.43
sys/compat/common/kern_info_09.c: revision 1.22
sys/compat/linux32/common/linux32_resource.c: revision 1.12
sys/compat/linux/common/linux_oldolduname.c: revision 1.67
sys/compat/netbsd32/netbsd32_nfssvc.c: revision 1.8
sys/compat/linux32/common/linux32_signal.c: revision 1.21
sys/compat/common/kern_sig_13.c: revision 1.22
sys/compat/sunos32/sunos32_ioctl.c: revision 1.36
sys/compat/netbsd32/netbsd32_compat_43.c: revision 1.62
sys/compat/linux/arch/arm/linux_ptrace.c: revision 1.23
sys/compat/netbsd32/netbsd32_time.c: revision 1.56
sys/compat/linux/common/linux_signal.c: revision 1.84
sys/compat/netbsd32/netbsd32_signal.c: revision 1.52
sys/compat/sunos32/sunos32_misc.c: revision 1.85
sys/compat/linux/common/linux_time.c: revision 1.40
sys/compat/linux/common/linux_fdio.c: revision 1.14
sys/compat/common/vfs_syscalls_30.c: revision 1.43

sys/compat: Memset zero before copyout.

Just in case of uninitialized padding which would lead to kernel
stack disclosure. If the compiler can prove the memset redundant
then it can optimize it away; otherwise better safe than sorry.

RSS XML Feed