summaryrefslogtreecommitdiff
path: root/sys/compat/linux/common/linux_signal.c
AgeCommit message (Collapse)Author
2021-11-01Use "stack_t" instead of "struct sigaltstack", as the former is thethorpej
newer standardized name. NFC.
2021-10-27Use __SIGTRAMP_SIGCODE_VERSION rather than hard-coding 0.thorpej
2021-09-23add support COMPAT_LINUX for aarch64ryo
2021-09-19- LINUX_SIGEV_PAD is incorrect for 64-bit systems, because sigval_tthorpej
contains a pointer. Correct this. - Add routines to convert from Linux to native sigevent_t.
2021-09-07sys/compat: Memset zero before copyout.riastradh
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.
2020-05-23Move proc_lock into the data segment. It was dynamically allocated becausead
at the time we had mutex_obj_alloc() but not __cacheline_aligned.
2020-04-29Fix proc lookup by distinguishing between the "tgid" and "tid" cases.thorpej
2019-08-23Fix info leaks in sigaltstack.maxv
2018-01-07Ignore signal 64 for now (go uses it)christos
XXX: pullup-8
2017-02-20KNF; no binary changesrin
2017-02-20CID 980928: fix NULL pointer dereferecerin
2015-11-14PR/50428: Rin Okuyama: support SA_RESTORER flag for rt_sigaction(2) in thechristos
ports that support it.
2014-11-09Do not uselessly include <sys/malloc.h>.maxv
2011-11-18remove one more kassertchristos
2011-11-18remove incorrect assertions (the len passed is the size of the bsd structurechristos
not the linux one)
2011-11-18- add sigtimedwait support.christos
- merge the siginfo population code.
2011-06-30dependant -> dependentwiz
2010-07-07many changes for COMPAT_LINUX:chs
- 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.
2010-07-01Remove pfind() and pgfind(), fix locking in various broken uses of these.rmind
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.
2009-06-08Small rt_queueinfo(2) update, to require a linux_siginfo structure.njoly
While here, cleanup ifdef out argument types.
2009-05-29Add native to linux siginfo si_status translation, used on i386 andnjoly
amd64.
2009-02-18Do not protect native_to_linux_si_code() under LINUX_NPTL anymore, nownjoly
that linux si_code definitions are MI.
2008-10-21Do not use native_to_linux_si_code() outside LINUX_NPTL; until injoly
figure a better way to handle it.
2008-10-21tkill/tgkill syscalls cleanup.njoly
- 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.
2008-10-19Add native to linux siginfo si_code translation, mostly for negativenjoly
values. Adjust amd64 and i386 accordingly, not sure about aother archs i can't test.
2008-07-30Fix linux_sigismember/linux_sigaddset to work on amd64 (and othernjoly
64bits archs), by ensuring that bit shifts are done on correct type.
2008-04-28Remove clause 3 and 4 from TNF licensesmartin
2008-04-24Merge proc::p_mutex and proc::p_smutex into a single adaptive mutex, sincead
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.
2008-04-24Network protocol interrupts can now block on locks, so merge the globalsad
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.
2008-04-23Tweak locking.ad
2007-12-20Convert all the system call entry points from:dsl
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.
2007-12-08ANSIfy most of the function definitions in sys/compat (but not ndis).dsl
All by the magic of sed ...
2007-12-04Remove all the __Pdsl
2007-10-19Add compat_linux and exec_linux_elf lkm support for amd64:njoly
- Add needed COMPAT_OSSAUDIO to GENERIC. - Add missing includes needed by linux_syscallargs.h. - Add lkm building.
2007-03-04Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.christos
2007-02-09Merge newlock2 to head.ad
2006-11-16__unused removal on arguments; approved by core.christos
2006-10-12- sprinkle __unused on function decls.christos
- fix a couple of unused bugs - no more -Wno-unused for i386
2006-09-13avoid empty if body.christos
2005-11-23- Add Linux tkill and tgkill (partial emulation).manu
- Fix getrlimit on amd64
2005-09-19MINSIGSTKSZ on linux is different depending on the platform and usuallychristos
smaller than ours.
2005-05-20tramp and vers are used unconditionally, make them visible everywhere.mrg
2005-05-19Add support for Linux SA_RESTORER on amd64.manu
2005-05-16Include linux_sigevent.h (to be used later).fvdl
2005-05-09#endif for LINUX_SS_ONSTACK needs to go after linux_sys_sigaltstack or buildsjmc
break on platforms that don't define it (alpha, sparc)
2005-05-03First work on COMPAT_LINUX/amd64manu
Process startup and dynamiclinking work, but processes hang due to Linux arch_prctl(2) not being really supported yet.
2005-02-26nuke trailing whitespaceperry
2003-07-03make the converter of sigaltstack public.christos
2003-01-18Merge the nathanw_sa branch.thorpej
2002-11-26rename: s/sa_/<compat>sa/gchristos