Age | Commit message (Collapse) | Author |
|
Linux-compat clone() syscall when *not* using CLONE_THREAD. pirofti@
confirms Opera runs in compat without this, so out it goes; one less hair
to choke on in kern_exit.c
ok tedu@ pirofti@
|
|
arithmetic so that PID_MAX can be reached.
ok otto@ zhuk@ miod@
|
|
multi-threaded processes when they receive a signal:
1. Make the parent of the process (the tracer) wait for all threads to be
stopped (in wait4(2)) instead of the thread that received the signal.
This prevents us from calling tsleep(9) recursively.
2. Assume that we already hold the kernel lock if the P_SINTR flag is set
(just like we already assumed we were holding the scheduler lock) and
don't try to grab it again.
This should fix the panic that many people reported when debugging
multi-threaded programs with gdb(1).
ok & lots of help from guenther@
|
|
|
|
lock for PCATCH and ktrace(CSW) handling
ok kettenis@
|
|
hibernate unpack - these were added a while ago when we were fighting
different issues that have now been solved.
Tested by myself and dcoppa on a variety of machines
|
|
microsecond in a 64-bit integer. Fixes the issue where ntpd loses sync
because the struct timeval currently used to hold the adjustment is not
properly normalized after the changes guenther@ made.
ok guenther@, millert@
|
|
a single target of used pages in the cache - so we don't to a ton of work
throwing away pages sporadically while holding the biglock - noticed by dlg.
ok dlg@ deraadt@
|
|
replace the OpenBSD bounds with the A6 MBR partition limits. Thus
preserving any changes the user makes with the 'b' command in
disklabel.
Reported, tested & ok blambert@, ok deraadt@
|
|
leaking values in the padding bytes on LP64. Also, vn_stat() was lacking
the zero-fill to clean its padding.
ok kettenis@ deraadt@ phessler@
|
|
and runtime to the process totals. Also, add ktracing of struct
rusage in wait4() and getrusage().
problem pointed out by tedu@
ok deraadt@
|
|
ok matthew@ phessler@ dlg@
|
|
to guarantee there isn't a window in which you can lose a wakeup. The
exception for tsleep() is when it's just being used to sleep for a period
of time, so permit that too.
ok jsing@ deraadt@
|
|
ok phessler@ deraadt@ jsing@ guenther@
|
|
For now and until 5.5 is cut, also read from current/incorrect spot
so people don't immediately lose their existing disklabels on such
devices.
Problem spotted by David Vasek.
|
|
bcopy() can be memcpy() because target is freshly malloced.
&array[n] is simpler than (char*)array + n*sizeof(array[0])
ok tedu@
|
|
going to copyout one, memset the structure and then set it member by member.
sys_adjtime() does that on copyin instead, as it already has to munge the
members as it goes.
ok deraadt@
|
|
ok mikeb@ deraadt@
|
|
a region descriptor such that the extent manager doesn't need to call
malloc(9).
ok miod@, deraadt@
|
|
It was just for cleanliness, so be a little dirty
ok krw@, who managed to convince his clock to fire in the gap
|
|
|
|
make it a list of processes, and change P_NOZOMBIE and P_STOPPED from thread
flags to process flags. Add allprocess list for the code that just wants
to see processes.
ok tedu@
|
|
|
|
can be further simplified.
ok kettenis@
|
|
on first call, very early on, from boot-supplied entropy, then feed from
that. Later when we have more subsystems ready, the main() can properly
initialize the entropy-driven model. Lots of discussion with mikeb.
ok kettenis markus mikeb
|
|
|
|
Initialize ci_randseed better using arc4random() + a trick. Remove the
libkern srandom() API since it is not suitable for this use.
ok kettenis miod
|
|
MHLEN - max_hdr in that place. OK mikeb@
|
|
is no longer providing significant value. The random subsystem is in
pretty good state, and moments later userland will feed the dmesg.
ok jsing
|
|
point at which everything it does is safe, including msg buffer access.
ok kettenis jsing
|
|
|
|
ok tedu@
|
|
to splice multiple UDP packets in the m_nextpkt list. Some profiling
with TCP splicing showed that checking so_rcv.sb_mb is wrong. It
causes several useless runs through the loop. Better check for
nextrecord which contains the original m_nextpkt value of the mbuf.
OK mikeb@
|
|
bit field names into the header file below the definitions to keep
them in sync.
OK mikeb@ mpi@
|
|
|
|
spotted by kettenis
|
|
compat pointed out by miod), and place it inside the ELF .openbsd.randomdata
segment. Inside main(), only re-initialize the guard if the bootblocks
failed to initialize it for us.
|
|
and do not need microtime.
|
|
arc4random() much earlier. Leading to random pids for anything
besides 0 and 1.
|
|
conditionals you did on timeout_pending can now be done on timeout_del
now that it returns what it did.
ok and a very good fix from kettenis@
|
|
|
|
compat. This will be used to implement tcgetsid() in the future.
OK kettenis@ guenther@
|
|
|
|
formatting into a local buffer.
ok miod@
|
|
ok deraadt@
|
|
|
|
|
|
who is slacking to much.
ok dlg@
|
|
with input from and ok kettenis, deraadt
|
|
once brelse() is called and the buffer is B_INVAL.
ok jsing@ krw@
|