#
8b23add8 |
| 13-Jul-2018 |
beck <beck@openbsd.org> |
Unveiling unveil(2). This brings unveil into the tree, disabled by default - Currently this will return EPERM on all attempts to use it until we are fully certain it is ready for people to start usin
Unveiling unveil(2). This brings unveil into the tree, disabled by default - Currently this will return EPERM on all attempts to use it until we are fully certain it is ready for people to start using, but this now allows for others to do more tweaking and experimentation.
Still needs to send the unveil's across forks and execs before fully enabling.
Many thanks to robert@ and deraadt@ for extensive testing. ok deraadt@
show more ...
|
#
c33efb07 |
| 10-Feb-2018 |
mpi <mpi@openbsd.org> |
Move cleanup job control bits to their own function.
Part of the larger 'proctreelk' diff from guenther@
No functional change, ok benno@, tedu@
|
#
98edb555 |
| 30-Dec-2017 |
guenther <guenther@openbsd.org> |
Delete unnecessary <sys/file.h> includes
ok millert@ krw@
|
#
fb3dec7c |
| 28-Nov-2017 |
guenther <guenther@openbsd.org> |
deadproc_mutex is only taken _before_ kernel_lock; exclude it from WITNESS checking as (our) witness code isn't smart enough to let that by.
ok visa@
|
#
f46da438 |
| 29-Aug-2017 |
deraadt <deraadt@openbsd.org> |
Remove old deactivated pledge path code. A replacement mechanism is being brewed. ok beck
|
#
a7c28c92 |
| 20-Apr-2017 |
visa <visa@openbsd.org> |
Add a port of witness(4) lock validation tool from FreeBSD.
Go-ahead from kettenis@, guenther@, deraadt@
|
#
58d29892 |
| 08-Feb-2017 |
guenther <guenther@openbsd.org> |
Delete the obsolete fork/exec/exit emulation hooks.
ok mpi@ dlg@
|
#
3b7181b7 |
| 07-Nov-2016 |
guenther <guenther@openbsd.org> |
Split PID from TID, giving processes a PID unrelated to the TID of their initial thread
ok jsing@ kettenis@
|
#
2ed745d2 |
| 25-Apr-2016 |
tedu <tedu@openbsd.org> |
boom goes the dynamite
|
#
4a0e987a |
| 29-Mar-2016 |
mpi <mpi@openbsd.org> |
Use a macro to check if a thread has a sibling.
Note that without locking a thread cannot claim that it is part of a multi-threaded process using this macro.
Suggested by miod@, ok guenther@
|
#
a5b054b1 |
| 06-Mar-2016 |
guenther <guenther@openbsd.org> |
Localize some declarations to kern_exit.c: the last good reason to put them in sys/proc.h has been removed with compat_linux
diff from Michal Mazurek (akfaew (at) jasminek.net)
|
#
df174574 |
| 09-Oct-2015 |
deraadt <deraadt@openbsd.org> |
Rename tame() to pledge(). This fairly interface has evolved to be more strict than anticipated. It allows a programmer to pledge/promise/covenant that their program will operate within an easily d
Rename tame() to pledge(). This fairly interface has evolved to be more strict than anticipated. It allows a programmer to pledge/promise/covenant that their program will operate within an easily defined subset of the Unix environment, or it pays the price.
show more ...
|
#
609289ba |
| 07-Oct-2015 |
deraadt <deraadt@openbsd.org> |
Add the tame "exec" request. This allows processes which request "exec" to call execve(2), potentially fork(2) beforehands if they asked for "proc". Calling execve is what "shells" (ksh, tmux, etc)
Add the tame "exec" request. This allows processes which request "exec" to call execve(2), potentially fork(2) beforehands if they asked for "proc". Calling execve is what "shells" (ksh, tmux, etc) have as their primary purpose. But meantime, if such a shell has a nasty bug, we want to mitigate the process from opening a socket or calling 100+ other system calls. Unfortunately silver bullets are in short supply, so if our goal is to stay in a POSIX-y environment, we have to let shells call execve(). POSIX ate the world, so choices do we all have? Warning for many: silver bullets are even more rare in other OS ecosystems, so please accept this as a narrow lowering of the bar in a very raised environment. Commited from a machine running tame "proc exec" ksh, make, etc.
show more ...
|
#
562bbd83 |
| 11-Sep-2015 |
guenther <guenther@openbsd.org> |
Only include <sys/tame.h> in the .c files that need it
ok deraadt@ miod@
|
#
bae2bd50 |
| 28-Aug-2015 |
deraadt <deraadt@openbsd.org> |
fairly simple sizes for free(); ok tedu
|
#
430c0dba |
| 22-Aug-2015 |
deraadt <deraadt@openbsd.org> |
Move to tame(int flags, char *paths[]) API/ABI.
The pathlist is a whitelist of dirs and files; anything else returns ENOENT. Recommendation is to use a narrowly defined list. Also add TAME_FATTR, w
Move to tame(int flags, char *paths[]) API/ABI.
The pathlist is a whitelist of dirs and files; anything else returns ENOENT. Recommendation is to use a narrowly defined list. Also add TAME_FATTR, which permits explicit change operations against "struct stat" fields. Some other TAME_ flags are refined slightly.
Not cranking libc now, since nothing commited in base uses this and the timing is uncomfortable for others. Discussed with many; thanks for a few bug fixes from semarie, doug, guenther. ok guenther
show more ...
|
#
21dab745 |
| 14-Mar-2015 |
jsg <jsg@openbsd.org> |
Remove some includes include-what-you-use claims don't have any direct symbols used. Tested for indirect use by compiling amd64/i386/sparc64 kernels.
ok tedu@ deraadt@
|
#
fde894e5 |
| 16-Dec-2014 |
tedu <tedu@openbsd.org> |
primary change: move uvm_vnode out of vnode, keeping only a pointer. objective: vnode.h doesn't include uvm_extern.h anymore. followup changes: include uvm_extern.h or lock.h where necessary. ok and
primary change: move uvm_vnode out of vnode, keeping only a pointer. objective: vnode.h doesn't include uvm_extern.h anymore. followup changes: include uvm_extern.h or lock.h where necessary. ok and help from deraadt
show more ...
|
#
9e8577e7 |
| 12-Jul-2014 |
tedu <tedu@openbsd.org> |
add a size argument to free. will be used soon, but for now default to 0. after discussions with beck deraadt kettenis.
|
#
de4108ea |
| 11-Jul-2014 |
guenther <guenther@openbsd.org> |
It's init as a process that's special, not init's original thread. Remember initprocess instead of initproc.
ok matthew@ blambert@
|
#
e6c6495d |
| 08-Jul-2014 |
deraadt <deraadt@openbsd.org> |
decouple struct uvmexp into a new file, so that uvm_extern.h and sysctl.h don't need to be married. ok guenther miod beck jsing kettenis
|
#
644b4788 |
| 04-Jul-2014 |
guenther <guenther@openbsd.org> |
Track whether a process is a zombie or not yet fully built via flags PS_{ZOMBIE,EMBRYO} on the process instead of peeking into the process's thread data. This eliminates the need for the thread-leve
Track whether a process is a zombie or not yet fully built via flags PS_{ZOMBIE,EMBRYO} on the process instead of peeking into the process's thread data. This eliminates the need for the thread-level SDEAD state.
Change kvm_getprocs() (both the sysctl() and kvm backends) to report the "most active" scheduler state for the process's threads.
tweaks kettenis@ feedback and ok matthew@
show more ...
|
#
2ea18d85 |
| 11-Jun-2014 |
matthew <matthew@openbsd.org> |
Fix wait4 to not modify status or rusage if we return 0 because of WNOHANG, in accordance with POSIX. Additionally, if rusage is requested but the waited-on process did not terminate, return zero by
Fix wait4 to not modify status or rusage if we return 0 because of WNOHANG, in accordance with POSIX. Additionally, if rusage is requested but the waited-on process did not terminate, return zero bytes instead of kernel stack garbage.
ok deraadt, millert
show more ...
|
#
67330adf |
| 15-May-2014 |
guenther <guenther@openbsd.org> |
knote_processexit() needs the thread to pass down to FRELE(), so pass it the exiting thread instead of assuming that that's ps_mainproc. Also, panic no matter which thread of init takes it down.
ok
knote_processexit() needs the thread to pass down to FRELE(), so pass it the exiting thread instead of assuming that that's ps_mainproc. Also, panic no matter which thread of init takes it down.
ok tedu@
show more ...
|
#
924be113 |
| 15-May-2014 |
guenther <guenther@openbsd.org> |
Move from struct proc to process the reference-count-holding pointers to the process's vmspace and filedescs. struct proc continues to keep copies of the pointers, copying them on fork, clearing the
Move from struct proc to process the reference-count-holding pointers to the process's vmspace and filedescs. struct proc continues to keep copies of the pointers, copying them on fork, clearing them on exit, and (for vmspace) refreshing on exec. Also, make uvm_swapout_threads() thread aware, eliminating p_swtime in kernel.
particular testing by ajacoutot@ and sebastia@
show more ...
|