| Age | Commit message (Collapse) | Author |
|
newer standardized name. NFC.
|
|
|
|
|
|
contains a pointer. Correct this.
- Add routines to convert from Linux to native sigevent_t.
|
|
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.
|
|
at the time we had mutex_obj_alloc() but not __cacheline_aligned.
|
|
|
|
|
|
XXX: pullup-8
|
|
|
|
|
|
ports that support it.
|
|
|
|
|
|
not the linux one)
|
|
- merge the siginfo population code.
|
|
|
|
- update the linux syscall table for each platform.
- support new-style (NPTL) linux pthreads on all platforms.
clone() with CLONE_THREAD uses 1 process with many LWPs
instead of separate processes.
- move the contents of sys__lwp_setprivate() into a new
lwp_setprivate() and use that everywhere.
- update linux_release[] and linux32_release[] to "2.6.18".
- adjust placement of emul fork/exec/exit hooks as needed
and adjust other emul code to match.
- convert all struct emul definitions to use named initializers.
- change the pid allocator to allow multiple pids to refer to the same proc.
- remove a few fields from struct proc that are no longer needed.
- disable the non-functional "vdso" code in linux32/amd64,
glibc works fine without it.
- fix a race in the futex code where we could miss a wakeup after
a requeue operation.
- redo futex locking to be a little more efficient.
|
|
Rename real routines to proc_find() and pgrp_find(), remove PFIND_* flags
and have consistent behaviour. Provide proc_find_raw() for special cases.
Fix memory leak in sysctl_proc_corename().
COMPAT_LINUX: rework ptrace() locking, minimise differences between
different versions per-arch.
Note: while this change adds some formal cosmetics for COMPAT_DARWIN and
COMPAT_IRIX - locking there is utterly broken (for ages).
Fixes PR/43176.
|
|
While here, cleanup ifdef out argument types.
|
|
amd64.
|
|
that linux si_code definitions are MI.
|
|
figure a better way to handle it.
|
|
- Make both syscalls set si_code to SI_LWP (which will be converted to
Linux SI_TKILL value). Fix thread some cancellation under NPTL
emulation.
- Merge code in a new linux_do_tkill() function that will do its own
job, instead of calling linux_sys_kill().
- Do only alter single tasks, by rejecting non positive tid/tgid
values.
|
|
values. Adjust amd64 and i386 accordingly, not sure about aother archs
i can't test.
|
|
64bits archs), by ensuring that bit shifts are done on correct type.
|
|
|
|
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.
|
|
proclist_mutex and proclist_lock into a single adaptive mutex (proc_lock).
Implications:
- Inspecting process state requires thread context, so signals can no longer
be sent from a hardware interrupt handler. Signal activity must be
deferred to a soft interrupt or kthread.
- As the proc state locking is simplified, it's now safe to take exit()
and wait() out from under kernel_lock.
- The system spends less time at IPL_SCHED, and there is less lock activity.
|
|
|
|
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.
|
|
All by the magic of sed ...
|
|
|
|
- Add needed COMPAT_OSSAUDIO to GENERIC.
- Add missing includes needed by linux_syscallargs.h.
- Add lkm building.
|
|
|
|
|
|
|
|
- fix a couple of unused bugs
- no more -Wno-unused for i386
|
|
|
|
- Fix getrlimit on amd64
|
|
smaller than ours.
|
|
|
|
|
|
|
|
break on platforms that don't define it (alpha, sparc)
|
|
Process startup and dynamiclinking work, but processes hang due to
Linux arch_prctl(2) not being really supported yet.
|
|
|
|
|
|
|
|
|