History log of /src/sys/compat/netbsd32/netbsd32_execve.c |
Revision | | Date | Author | Comments |
1.44 |
| 11-Nov-2021 |
martin | Adapt to recent posix_spawn extensions.
|
1.43 |
| 13-Apr-2021 |
mrg | GCC 10 does not like casting from one identical anonymous enum to another enum. supply some quietening cast.
|
1.42 |
| 19-Apr-2020 |
thorpej | branches: 1.42.4; - Only increment nprocs when we're creating a new process, not just when allocating a PID. - Per above, proc_free_pid() no longer decrements nprocs. It's now done in proc_free() right after proc_free_pid(). - Ensure nprocs is accessed using atomics everywhere.
|
1.41 |
| 17-Sep-2019 |
christos | branches: 1.41.6; Add a boolean argument to indicate if we have a path/true (execve) or an fd/false (fexecve). This is needed to differentiate between them because NULL/-1 can be readily passed from userland.
|
1.40 |
| 15-Sep-2019 |
christos | fix fexecve
|
1.39 |
| 03-Sep-2018 |
riastradh | Rename min/max -> uimin/uimax for better honesty.
These functions are defined on unsigned int. The generic name min/max should not silently truncate to 32 bits on 64-bit systems. This is purely a name change -- no functional change intended.
HOWEVER! Some subsystems have
#define min(a, b) ((a) < (b) ? (a) : (b)) #define max(a, b) ((a) > (b) ? (a) : (b))
even though our standard name for that is MIN/MAX. Although these may invite multiple evaluation bugs, these do _not_ cause integer truncation.
To avoid `fixing' these cases, I first changed the name in libkern, and then compile-tested every file where min/max occurred in order to confirm that it failed -- and thus confirm that nothing shadowed min/max -- before changing it.
I have left a handful of bootloaders that are too annoying to compile-test, and some dead code:
cobalt ews4800mips hp300 hppa ia64 luna68k vax acorn32/if_ie.c (not included in any kernels) macppc/if_gm.c (superseded by gem(4))
It should be easy to fix the fallout once identified -- this way of doing things fails safe, and the goal here, after all, is to _avoid_ silent integer truncations, not introduce them.
Maybe one day we can reintroduce min/max as type-generic things that never silently truncate. But we should avoid doing that for a while, so that existing code has a chance to be detected by the compiler for conversion to uimin/uimax without changing the semantics until we can properly audit it all. (Who knows, maybe in some cases integer truncation is actually intended!)
|
1.38 |
| 02-Feb-2014 |
martin | branches: 1.38.28; 1.38.30; Limit the amount of kernel memory a posix_spawn syscall can use (for handling the file action list) by limiting the maximum number of file actions to twice the current file descriptor limit. Fix a few bugs in the support functions and document the new limit. From Maxime Villard.
|
1.37 |
| 15-Jan-2013 |
hannken | branches: 1.37.2; netbsd32_posix_spawn_fa_alloc: use the right length for path allocation.
This error lead to memory pool corruption when freeing kmem with wrong size.
|
1.36 |
| 02-May-2012 |
rmind | branches: 1.36.2; Revert posix_spawn() clean up for now, there are some bugs.
|
1.35 |
| 30-Apr-2012 |
rmind | posix_spawn: - Remove copy-pasting in error paths, use execve_free_{vmspace,data}(). - Move some code (both in the init and exit paths) out of the locks. - Slightly simplify do_posix_spawn() callers. - Add few asserts and comments.
|
1.34 |
| 08-Apr-2012 |
martin | Rework posix_spawn locking and memory management: - always provide a vmspace for the new proc, initially borrowing from proc0 (this part fixes PR 46286) - increase parallelism between parent and child if arguments allow this, avoiding a potential deadlock on exec_lock - add a new flag for userland to request old (lockstepped) behaviour for better error reporting - adapt test cases to the previous two and add a new variant to test the diagnostics flag - fix a few memory (and lock) leaks - provide netbsd32 compat
|
1.33 |
| 31-Jan-2012 |
matt | branches: 1.33.2; Add missing *at syscalls among others
|
1.32 |
| 29-May-2008 |
mrg | branches: 1.32.12; 1.32.34; 1.32.38; remove clause #3 from my license where there are no other copyright holders involved.
|
1.31 |
| 20-Dec-2007 |
dsl | branches: 1.31.6; 1.31.8; 1.31.10; 1.31.12; 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.30 |
| 22-Apr-2007 |
dsl | branches: 1.30.8; 1.30.16; 1.30.20; Change the way that emulations locate files within the emulation root to avoid having to allocate space in the 'stackgap' - which is very LWP unfriendly. The additional code for non-emulation namei() is trivial, the reduction for the emulations is massive. The vnode for a processes emulation root is saved in the cwdi structure during process exec. If the emulation root the TRYEMULROOT flag are set, namei() will do an initial search for absolute pathnames in the emulation root, if that fails it will retry from the normal root. ".." at the emulation root will always go to the real root, even in the middle of paths and when expanding symlinks. Absolute symlinks found using absolute paths in the emulation root will be relative to the emulation root (so /usr/lib/xxx.so -> /lib/xxx.so links inside the emulation root don't need changing). If the root of the emulation would be returned (for an emulation lookup), then the real root is returned instead (matching the behaviour of emul_lookup, but being a cheap comparison here) so that programs that scan "../.." looking for the root dircetory don't loop forever. The target for symbolic links is no longer mangled (it used to get the CHECK_ALT_xxx() treatment, so could get /emul/xxx prepended). CHECK_ALT_xxx() are no more. Most of the change is deleting them, and adding TRYEMULROOT to the flags to NDINIT(). A lot of the emulation system call stubs could now be deleted.
|
1.29 |
| 18-Mar-2007 |
dsl | Change all the NETBSD32PTR64(SCARG(uap, xxx))) to SCARG_P32(uap, xxx).
|
1.28 |
| 04-Mar-2007 |
christos | branches: 1.28.2; 1.28.4; 1.28.6; Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
|
1.27 |
| 09-Feb-2007 |
ad | branches: 1.27.2; Merge newlock2 to head.
|
1.26 |
| 07-Mar-2006 |
thorpej | branches: 1.26.2; 1.26.12; Clean up fallout proc_is_traced_p() change: - proc_is_traced_p() -> trace_is_enabled(), to match trace_enter() and trace_exit(). - trace_is_enabled() becomes a real function. - Remove unnecessary include files from various files that used to care about KTRACE and SYSTRACE, but do no more.
|
1.25 |
| 11-Dec-2005 |
christos | branches: 1.25.4; 1.25.6; 1.25.8; merge ktrace-lwp.
|
1.24 |
| 13-Jul-2005 |
cube | Do the CHECK_ALT_EXIST dance again in netbsd32_execve(). It was lost in previous commit.
|
1.23 |
| 11-Jul-2005 |
cube | Split sys_execve() and add execve1() that does most of the work, and takes as an argument a function that will retrieve an element of the pointer arrays in user space. This allows COMPAT_NETBSD32 to share the code for the emulated version of execve(2), and fixes various issues that came from the slow drift between the two implementations.
Note: when splitting up a syscall function, I'll use two different ways of naming the resulting helper function. If it stills does copyin/out operations, it will be named <syscall>1(). If it does not (as it was the case for get/setitimer), it will be named do<syscall>.
|
1.22 |
| 31-May-2005 |
christos | branches: 1.22.2; - add const - avoid shadowed variables.
|
1.21 |
| 19-May-2005 |
elad | Some changes in veriexec.
New features:
- Add a veriexec_report() routine to make most reporting consistent and remove some common code. - Add 'strict' mode that controls how veriexec behaves. - Add sysctl knobs: o kern.veriexec.verbose controls verbosity levels. Value: 0, 1. o kern.veriexec.strict controls strict level. Values: 0, 1, 2. See documentation in sysctl(3) for details. o kern.veriexec.algorithms returns a string with a space separated list of supported hashing algorithms in veriexec. - Updated documentation in man pages for sysctl(3) and sysctl(8).
Bug fixes:
- veriexec_removechk(): Code cleanup + handle FINGERPRINT_NOTEVAL correctly. - exec_script(): Don't pass 0 as flag when executing a script; use the defined VERIEXEC_INDIRECT - which is 1. Makes indirect execution enforcement work. - Fix some printing formats and types..
|
1.20 |
| 01-Apr-2005 |
yamt | merge yamt-km branch. - don't use managed mappings/backing objects for wired memory allocations. save some resources like pv_entry. also fix (most of) PR/27030. - simplify kernel memory management API. - simplify pmap bootstrap of some ports. - some related cleanups.
|
1.19 |
| 26-Feb-2005 |
perry | branches: 1.19.2; nuke trailing whitespace
|
1.18 |
| 25-Feb-2004 |
drochner | branches: 1.18.8; 1.18.10; allow to start other emulations (eg native code) from here: set p_execsw to the new thing, and call the new emulation's syscall_intern()
XXX there are more differences to kern_exec.c, sa/ras related afaics, this is harmliss for now since netbsd32 doesn't support multithreaded programs yet -- one day one execve() implementation should be shared by native and netbsd32 code.
|
1.17 |
| 29-Jun-2003 |
fvdl | branches: 1.17.2; Back out the lwp/ktrace changes. They contained a lot of colateral damage, and need to be examined and discussed more.
|
1.16 |
| 29-Jun-2003 |
martin | struct proc * -> struct lwp *
|
1.15 |
| 28-Jun-2003 |
darrenr | Pass lwp pointers throughtout the kernel, as required, so that the lwpid can be inserted into ktrace records. The general change has been to replace "struct proc *" with "struct lwp *" in various function prototypes, pass the lwp through and use l_proc to get the process pointer when needed.
Bump the kernel rev up to 1.6V
|
1.14 |
| 18-Jan-2003 |
thorpej | Merge the nathanw_sa branch.
|
1.13 |
| 16-Sep-2002 |
martin | branches: 1.13.2; p->p_sigacts -> p->p_sigctx
|
1.12 |
| 26-Aug-2002 |
christos | Implement passing AT_{E,R}{U,G}ID in the elf aux vector, like solaris. - pass struct proc to copyargs. - eliminate svr4_copyargs, since it is the same as ours now.
|
1.11 |
| 25-Aug-2002 |
thorpej | Fix some signed/unsigned comparison warnings from GCC 3.3.
|
1.10 |
| 06-Jun-2002 |
fvdl | Fix wrong psstr computation. (XXX why is there an entire copy of sys_execve here?)
|
1.9 |
| 22-Mar-2002 |
jdolecek | branches: 1.9.2; 1.9.4; invoke setregs hooks correctly, as in sys_execve() Problem noted and fix tested by Eduardo Horvath
|
1.8 |
| 16-Mar-2002 |
christos | make the stackgap_{init,alloc} functions MP friendly (i.e. pass struct proc * in, instead of using curproc). While there add an optional size argument to stackgap_init.
|
1.7 |
| 23-Nov-2001 |
jdolecek | branches: 1.7.4; if the LKM support is not compiled in, don't bother using exec_lock at all, it's only needed in LKM case
use #if defined(LKM) || defined(_LKM) condition for netbsd32_execve.c, to DTRT when either compiled statically into kernel with LKM support, or compiled as a LKM
|
1.6 |
| 13-Nov-2001 |
lukem | add RCSIDs (including regeneration of files as appropriate)
|
1.5 |
| 29-Jul-2001 |
christos | carry on the copyargs() and exit1() changes from kern_exec.c
|
1.4 |
| 15-Jun-2001 |
thorpej | branches: 1.4.2; In check_exec(), don't bother checking P_TRACED along with MNT_NOSUID, just check MNT_NOSUID to clear the S{U,G}ID bits in the attributes for the vnode we're about to exec.
We now check P_TRACED right before we would actually perform the s{u,g}id function in the exec code.
This closes a race condition between exec of a setuid binary and ptrace(2).
|
1.3 |
| 30-May-2001 |
mrg | use _KERNEL_OPT.
|
1.2 |
| 04-Mar-2001 |
mrg | branches: 1.2.2; be more verbose about failed vmcmds.
|
1.1 |
| 08-Feb-2001 |
mrg | branches: 1.1.2; 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.2.3 |
| 12-Mar-2001 |
bouyer | Sync with HEAD.
|
1.1.2.2 |
| 11-Feb-2001 |
bouyer | Sync with HEAD.
|
1.1.2.1 |
| 08-Feb-2001 |
bouyer | file netbsd32_execve.c was added on branch thorpej_scsipi on 2001-02-11 19:14:13 +0000
|
1.2.2.10 |
| 17-Sep-2002 |
nathanw | Catch up to -current.
|
1.2.2.9 |
| 27-Aug-2002 |
nathanw | Catch up to -current.
|
1.2.2.8 |
| 23-Aug-2002 |
petrov | lwpification.
|
1.2.2.7 |
| 20-Jun-2002 |
nathanw | Catch up to -current.
|
1.2.2.6 |
| 29-May-2002 |
nathanw | #include <sys/sa.h> before <sys/syscallargs.h>, to provide sa_upcall_t now that <sys/param.h> doesn't include <sys/sa.h>.
(Behold the Power of Ed)
|
1.2.2.5 |
| 01-Apr-2002 |
nathanw | Catch up to -current. (CVS: It's not just a program. It's an adventure!)
|
1.2.2.4 |
| 08-Jan-2002 |
nathanw | Catch up to -current.
|
1.2.2.3 |
| 14-Nov-2001 |
nathanw | Catch up to -current.
|
1.2.2.2 |
| 24-Aug-2001 |
nathanw | Catch up with -current.
|
1.2.2.1 |
| 21-Jun-2001 |
nathanw | Catch up to -current.
|
1.4.2.5 |
| 10-Oct-2002 |
jdolecek | sync kqueue with -current; this includes merge of gehenna-devsw branch, merge of i386 MP branch, and part of autoconf rototil work
|
1.4.2.4 |
| 06-Sep-2002 |
jdolecek | sync kqueue branch with HEAD
|
1.4.2.3 |
| 23-Jun-2002 |
jdolecek | catch up with -current on kqueue branch
|
1.4.2.2 |
| 10-Jan-2002 |
thorpej | Sync kqueue branch with -current.
|
1.4.2.1 |
| 03-Aug-2001 |
lukem | update to -current
|
1.7.4.1 |
| 17-Mar-2002 |
thorpej | Make the exec_lock an rwlock, and rename it to exec_rwlock.
|
1.9.4.1 |
| 07-Jun-2002 |
thorpej | pullup-1-6 ticket #189:
syssrc/sys/compat/netbsd32/netbsd32_execve.c 1.10
Original log message:
Fix wrong psstr computation. (XXX why is there an entire copy of sys_execve here?)
|
1.9.2.2 |
| 29-Aug-2002 |
gehenna | catch up with -current.
|
1.9.2.1 |
| 20-Jun-2002 |
gehenna | catch up with -current.
|
1.13.2.1 |
| 18-Dec-2002 |
gmcgarry | Merge pcred and ucred, and poolify. TBD: check backward compatibility and factor-out some higher-level functionality.
|
1.17.2.8 |
| 10-Nov-2005 |
skrll | Sync with HEAD. Here we go again...
|
1.17.2.7 |
| 01-Apr-2005 |
skrll | Sync with HEAD.
|
1.17.2.6 |
| 04-Mar-2005 |
skrll | Sync with HEAD.
Hi Perry!
|
1.17.2.5 |
| 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
1.17.2.4 |
| 18-Sep-2004 |
skrll | Sync with HEAD.
|
1.17.2.3 |
| 26-Aug-2004 |
skrll | Adapt to branch.
sparc64 GENERIC compiles.
|
1.17.2.2 |
| 03-Aug-2004 |
skrll | Sync with HEAD
|
1.17.2.1 |
| 02-Jul-2003 |
darrenr | Apply the aborted ktrace-lwp changes to a specific branch. This is just for others to review, I'm concerned that patch fuziness may have resulted in some errant code being generated but I'll look at that later by comparing the diff from the base to the branch with the file I attempt to apply to it. This will, at the very least, put the changes in a better context for others to review them and attempt to tinker with removing passing of 'struct lwp' through the kernel.
|
1.18.10.2 |
| 19-Mar-2005 |
yamt | sync with head. xen and whitespace. xen part is not finished.
|
1.18.10.1 |
| 25-Jan-2005 |
yamt | convert to new apis.
|
1.18.8.1 |
| 29-Apr-2005 |
kent | sync with -current
|
1.19.2.2 |
| 12-Sep-2005 |
tron | Apply patch (requested by martin in ticket #740): Defopt VERIFIED_EXEC.
|
1.19.2.1 |
| 10-Jun-2005 |
tron | Pull up revision 1.21 (requested by elad in ticket #389): Some changes in veriexec. New features: - Add a veriexec_report() routine to make most reporting consistent and remove some common code. - Add 'strict' mode that controls how veriexec behaves. - Add sysctl knobs: o kern.veriexec.verbose controls verbosity levels. Value: 0, 1. o kern.veriexec.strict controls strict level. Values: 0, 1, 2. See documentation in sysctl(3) for details. o kern.veriexec.algorithms returns a string with a space separated list of supported hashing algorithms in veriexec. - Updated documentation in man pages for sysctl(3) and sysctl(8). Bug fixes: - veriexec_removechk(): Code cleanup + handle FINGERPRINT_NOTEVAL correctly. - exec_script(): Don't pass 0 as flag when executing a script; use the defined VERIEXEC_INDIRECT - which is 1. Makes indirect execution enforcement work. - Fix some printing formats and types..
|
1.22.2.4 |
| 21-Jan-2008 |
yamt | sync with head
|
1.22.2.3 |
| 03-Sep-2007 |
yamt | sync with head.
|
1.22.2.2 |
| 26-Feb-2007 |
yamt | sync with head.
|
1.22.2.1 |
| 21-Jun-2006 |
yamt | sync with head.
|
1.25.8.1 |
| 13-Mar-2006 |
yamt | sync with head.
|
1.25.6.1 |
| 22-Apr-2006 |
simonb | Sync with head.
|
1.25.4.1 |
| 09-Sep-2006 |
rpaulo | sync with head
|
1.26.12.1 |
| 30-Jan-2007 |
ad | Remove support for SA. Ok core@.
|
1.26.2.2 |
| 07-Mar-2006 |
thorpej | Clean up fallout proc_is_traced_p() change: - proc_is_traced_p() -> trace_is_enabled(), to match trace_enter() and trace_exit(). - trace_is_enabled() becomes a real function. - Remove unnecessary include files from various files that used to care about KTRACE and SYSTRACE, but do no more.
|
1.26.2.1 |
| 07-Mar-2006 |
thorpej | file netbsd32_execve.c was added on branch elad-kernelauth on 2006-03-07 03:32:07 +0000
|
1.27.2.3 |
| 07-May-2007 |
yamt | sync with head.
|
1.27.2.2 |
| 24-Mar-2007 |
yamt | sync with head.
|
1.27.2.1 |
| 12-Mar-2007 |
rmind | Sync with HEAD.
|
1.28.6.1 |
| 29-Mar-2007 |
reinoud | Pullup to -current
|
1.28.4.1 |
| 11-Jul-2007 |
mjf | Sync with head.
|
1.28.2.2 |
| 27-May-2007 |
ad | Sync with head.
|
1.28.2.1 |
| 10-Apr-2007 |
ad | Sync with head.
|
1.30.20.1 |
| 02-Jan-2008 |
bouyer | Sync with HEAD
|
1.30.16.1 |
| 26-Dec-2007 |
ad | Sync with head.
|
1.30.8.1 |
| 09-Jan-2008 |
matt | sync with HEAD
|
1.31.12.3 |
| 23-Jun-2008 |
wrstuden | Sync w/ -current. 34 merge conflicts to follow.
|
1.31.12.2 |
| 14-May-2008 |
wrstuden | Per discussion with ad, remove most of the #include <sys/sa.h> lines as they were including sa.h just for the type(s) needed for syscallargs.h.
Instead, create a new file, sys/satypes.h, which contains just the types needed for syscallargs.h. Yes, there's only one now, but that may change and it's probably more likely to change if it'd be difficult to handle. :-)
Per discussion with matt at n dot o, add an include of satypes.h to sigtypes.h. Upcall handlers are kinda signal handlers, and signalling is the header file that's already included for syscallargs.h that closest matches SA.
This shaves about 3000 lines off of the diff of the branch relative to the base. That also represents about 18% of the total before this checkin.
I think this reduction is very good thing.
|
1.31.12.1 |
| 10-May-2008 |
wrstuden | Initial checkin of re-adding SA. Everything except kern_sa.c compiles in GENERIC for i386. This is still a work-in-progress, but this checkin covers most of the mechanical work (changing signalling to be able to accomidate SA's process-wide signalling and re-adding includes of sys/sa.h and savar.h). Subsequent changes will be much more interesting.
Also, kern_sa.c has received partial cleanup. There's still more to do, though.
|
1.31.10.1 |
| 04-May-2009 |
yamt | sync with head.
|
1.31.8.1 |
| 04-Jun-2008 |
yamt | sync with head
|
1.31.6.1 |
| 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.32.38.2 |
| 29-Apr-2012 |
mrg | sync to latest -current.
|
1.32.38.1 |
| 18-Feb-2012 |
mrg | merge to -current.
|
1.32.34.3 |
| 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.32.34.2 |
| 23-Jan-2013 |
yamt | sync with head
|
1.32.34.1 |
| 17-Apr-2012 |
yamt | sync with head
|
1.32.12.2 |
| 29-May-2008 |
mrg | remove clause #3 from my license where there are no other copyright holders involved.
|
1.32.12.1 |
| 29-May-2008 |
mrg | file netbsd32_execve.c was added on branch christos-time_t on 2008-05-29 14:51:27 +0000
|
1.33.2.3 |
| 03-Feb-2014 |
sborrill | Pull up the following revisions(s) (requested by martin in ticket #1023): lib/libc/gen/posix_spawn.3: revision 1.5 lib/libc/gen/posix_spawn_file_actions_addopen.3: revision 1.4 lib/libc/gen/posix_spawn_file_actions_init.3: revision 1.4 lib/libc/gen/posix_spawn_fileactions.c: revision 1.3 sys/compat/netbsd32/netbsd32_execve.c: revision 1.38 sys/kern/kern_exec.c: revision 1.373
Limit the amount of kernel memory a posix_spawn syscall can use (for handling the file action list) by limiting the maximum number of file actions to twice the current file descriptor limit. Fix a few bugs in the support functions and document the new limit. From Maxime Villard.
|
1.33.2.2 |
| 08-Feb-2013 |
riz | branches: 1.33.2.2.2; Pull up following revision(s) (requested by hannken in ticket #793): sys/compat/netbsd32/netbsd32_execve.c: revision 1.37 netbsd32_posix_spawn_fa_alloc: use the right length for path allocation. This error lead to memory pool corruption when freeing kmem with wrong size.
|
1.33.2.1 |
| 12-Apr-2012 |
riz | branches: 1.33.2.1.4; Pull up following revision(s) (requested by martin in ticket #175): sys/kern/kern_exit.c: revision 1.238 tests/lib/libc/gen/posix_spawn/t_fileactions.c: revision 1.4 tests/lib/libc/gen/posix_spawn/t_fileactions.c: revision 1.5 sys/uvm/uvm_extern.h: revision 1.183 lib/libc/gen/posix_spawn_fileactions.c: revision 1.2 sys/kern/kern_exec.c: revision 1.348 sys/kern/kern_exec.c: revision 1.349 sys/compat/netbsd32/syscalls.master: revision 1.95 sys/uvm/uvm_glue.c: revision 1.159 sys/uvm/uvm_map.c: revision 1.317 sys/compat/netbsd32/netbsd32.h: revision 1.95 sys/kern/exec_elf.c: revision 1.38 sys/sys/spawn.h: revision 1.2 sys/sys/exec.h: revision 1.135 sys/compat/netbsd32/netbsd32_execve.c: revision 1.34 Rework posix_spawn locking and memory management: - always provide a vmspace for the new proc, initially borrowing from proc0 (this part fixes PR 46286) - increase parallelism between parent and child if arguments allow this, avoiding a potential deadlock on exec_lock - add a new flag for userland to request old (lockstepped) behaviour for better error reporting - adapt test cases to the previous two and add a new variant to test the diagnostics flag - fix a few memory (and lock) leaks - provide netbsd32 compat Fix asynchronous posix_spawn child exit status (and test for it).
|
1.33.2.2.2.1 |
| 03-Feb-2014 |
sborrill | Pull up the following revisions(s) (requested by martin in ticket #1023): lib/libc/gen/posix_spawn.3: revision 1.5 lib/libc/gen/posix_spawn_file_actions_addopen.3: revision 1.4 lib/libc/gen/posix_spawn_file_actions_init.3: revision 1.4 lib/libc/gen/posix_spawn_fileactions.c: revision 1.3 sys/compat/netbsd32/netbsd32_execve.c: revision 1.38 sys/kern/kern_exec.c: revision 1.373
Limit the amount of kernel memory a posix_spawn syscall can use (for handling the file action list) by limiting the maximum number of file actions to twice the current file descriptor limit. Fix a few bugs in the support functions and document the new limit. From Maxime Villard.
|
1.33.2.1.4.2 |
| 03-Feb-2014 |
sborrill | Pull up the following revisions(s) (requested by martin in ticket #1023): lib/libc/gen/posix_spawn.3: revision 1.5 lib/libc/gen/posix_spawn_file_actions_addopen.3: revision 1.4 lib/libc/gen/posix_spawn_file_actions_init.3: revision 1.4 lib/libc/gen/posix_spawn_fileactions.c: revision 1.3 sys/compat/netbsd32/netbsd32_execve.c: revision 1.38 sys/kern/kern_exec.c: revision 1.373
Limit the amount of kernel memory a posix_spawn syscall can use (for handling the file action list) by limiting the maximum number of file actions to twice the current file descriptor limit. Fix a few bugs in the support functions and document the new limit. From Maxime Villard.
|
1.33.2.1.4.1 |
| 08-Feb-2013 |
riz | Pull up following revision(s) (requested by hannken in ticket #793): sys/compat/netbsd32/netbsd32_execve.c: revision 1.37 netbsd32_posix_spawn_fa_alloc: use the right length for path allocation. This error lead to memory pool corruption when freeing kmem with wrong size.
|
1.36.2.2 |
| 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.36.2.1 |
| 25-Feb-2013 |
tls | resync with head
|
1.37.2.1 |
| 18-May-2014 |
rmind | sync with head
|
1.38.30.3 |
| 21-Apr-2020 |
martin | Sync with HEAD
|
1.38.30.2 |
| 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|
1.38.30.1 |
| 10-Jun-2019 |
christos | Sync with HEAD
|
1.38.28.1 |
| 06-Sep-2018 |
pgoyette | Sync with HEAD
Resolve a couple of conflicts (result of the uimin/uimax changes)
|
1.41.6.1 |
| 20-Apr-2020 |
bouyer | Sync with HEAD
|
1.42.4.1 |
| 17-Apr-2021 |
thorpej | Sync with HEAD.
|