History log of /src/sys/kern/sys_sig.c |
Revision | | Date | Author | Comments |
1.58 |
| 14-Jul-2024 |
kre | PR kern/58425 -- Disallow INT_MIN as a (negative) pid arg.
Since -INT_MIN is undefined, and to point of negative pid args is to negate them, and use the result as a pgrp id instead, we need to avoid accidentally negating INT_MIN.
Since pid_t is just an integral type, of unspecified width, when testing pid_t value test for <= INT_MIN (or > INT_MIN sometimes) rather than == INT_MIN. When testing int values, just == INT_MIN is all that is needed, < INT_MIN cannot occur.
XXX pullup -9, -10
|
1.57 |
| 04-Oct-2023 |
ad | branches: 1.57.6; Sprinkle a bunch more calls to lwp_need_userret(). There should be no functional change but it does get rid of a bunch of assumptions about how mi_userret() works making it easier to adjust in that in the future, and works as a kind of documentation too.
|
1.56 |
| 21-Apr-2022 |
andvar | branches: 1.56.4; s/substract/subtract/ in comments and error message. s/obtainted/obtained/ in one comment.
|
1.55 |
| 07-Nov-2021 |
thorpej | Add a comment describing why we give carte blanche to processes marked as PK_32. NFC.
|
1.54 |
| 01-Nov-2021 |
thorpej | Use "stack_t" instead of "struct sigaltstack", as the former is the newer standardized name. NFC.
|
1.53 |
| 27-Oct-2021 |
thorpej | - In sendsig() and sigaction1(), don't hard-code signal trampoline versions. Instead, use the version constants from <sys/signal.h> and automatically (and correctly) handle cases where multiple versions of a particular trampoline flavor exist. Conditionalize support for sigcontext trampolines on __HAVE_STRUCT_SIGCONTEXT. - aarch64 and amd64 don't use sigcontext natively, but do need to support it for 32-bit compatibility; define __HAVE_STRUCT_SIGCONTEXT conditionally on _KERNEL.
|
1.52 |
| 23-Sep-2021 |
ryo | Since trampoline ABI ver0 is also used in other emulation environments (e.g. linux emulation), checking (emul->e_sigobject != NULL) to determine if it is allowed or not.
|
1.51 |
| 23-May-2020 |
ad | Move proc_lock into the data segment. It was dynamically allocated because at the time we had mutex_obj_alloc() but not __cacheline_aligned.
|
1.50 |
| 10-Nov-2019 |
pgoyette | Convert the sendsig_sigcontext_16 function pointer to use the new compat_hook mechanism.
XXX Despite being a kernel<-->module abi change, this should be XXX pulled up to -9
|
1.49 |
| 09-Nov-2019 |
pgoyette | If we need to handle old-version signals, load the version-specific "compat_16" module. There is no longer a monolithic "compat" module!
XXX pullup-9 needed
|
1.48 |
| 08-Sep-2019 |
maxv | Introduce sigaction_copy(), to copy sigaction structures without padding, and use it in sigaction1(). This is to fix info leaks all at once in the signal functions.
|
1.47 |
| 01-Dec-2018 |
maxv | branches: 1.47.4; Fix kernel info leak, 4 bytes of padding in struct _ksiginfo. Maybe we should just set _pad to zero on LP64?
+ Possible info leak: [len=40, leaked=4] | #0 0xffffffff80baf397 in kleak_copyout | #1 0xffffffff80bda817 in sigtimedwait1 | #2 0xffffffff80bdab95 in sys_____sigtimedwait50 | #3 0xffffffff80259c42 in syscall
|
1.46 |
| 04-Aug-2016 |
christos | branches: 1.46.8; 1.46.14; 1.46.16; Realtime signal support from GSoC 2016, Charles Cui.
|
1.45 |
| 02-Oct-2015 |
christos | branches: 1.45.2; Change SDT (Statically Defined Tracing) probes to use link sets so that it is easier to add probes. (From FreeBSD)
|
1.44 |
| 19-Jun-2015 |
martin | Make kill1 public (we'll need it from compat/netbsd32)
|
1.43 |
| 18-Oct-2014 |
snj | branches: 1.43.2; src is too big these days to tolerate superfluous apostrophes. It's "its", people!
|
1.42 |
| 14-Feb-2014 |
christos | branches: 1.42.4; 1.42.6; 1.42.10; Don't check trampolines for SIG_DFL or SIG_IGN since they are not used. From gimpy.
|
1.41 |
| 08-Mar-2013 |
apb | branches: 1.41.6; Properly differentiate between infinite timeout and zero timeout. Local variable timo = -1 is used for zero timeout (non blocking mode).
Fixes PR 47625 from anthony.mallet
|
1.40 |
| 08-Mar-2013 |
apb | In the timeout passed to sigtimedwait, NULL means an infinite timeout, and {.tv_sec = 0, .tv_nsec=0} means do not block at all. Add a comment saying so. The code incorrectly treats them both as an infinite timeout, and that is not fixed by this commit.
|
1.39 |
| 22-Jan-2013 |
christos | It is useless to check for sigcontext_vec and compat module loading for PK_32 processes. The correct modules are already loaded, otherwise how is the process running?
|
1.38 |
| 18-Jul-2012 |
christos | branches: 1.38.2; From Roger Pau Monne: kill(2) called for a zombie process should return 0, according to: http://pubs.opengroup.org/onlinepubs/9699919799/functions/kill.html
|
1.37 |
| 19-Feb-2012 |
rmind | Remove COMPAT_SA / KERN_SA. Welcome to 6.99.3! Approved by core@.
|
1.36 |
| 18-Nov-2011 |
christos | branches: 1.36.4; 1.36.6; add a copyin function for sigset so that we can use sigtimedwait1 from emulations.
|
1.35 |
| 29-May-2011 |
christos | branches: 1.35.4; when undoing the sigsuspend setup, either take the signal and allow the signal path to restore the mask, or restore the mask here.
|
1.34 |
| 28-May-2011 |
christos | If a signal did not fire, restore the original signal mask for pselect/pollts using a signal mask. Tested by tron.
|
1.33 |
| 18-May-2011 |
christos | PR/43625: Mark Davies: Fix pselect(2) to honor the temporary mask. pselect(2) (and pollts(2)) are similar to sigsuspend(2) in that they temporarily change the process signal mask and wait for signal delivery. Factor out and share the code that does this.
|
1.32 |
| 03-Mar-2011 |
martin | Do not restrict the siginfo a process sends to itself in any way, but keep restrictions for foreign processes. This is needed to allow raising of full SIGFPE siginfo from softfloat libraries for example.
|
1.31 |
| 03-Feb-2011 |
joerg | Explicitly initialize ucontext before calling getmcontext.
|
1.30 |
| 10-Jan-2011 |
christos | branches: 1.30.2; 1.30.4; implement sigqueueinfo
|
1.29 |
| 21-Aug-2010 |
pgoyette | Update the rest of the kernel to conform to the module subsystem's new locking protocol.
|
1.28 |
| 01-Jul-2010 |
rmind | Remove pfind() and pgfind(), fix locking in various broken uses of these. 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.
|
1.27 |
| 20-May-2010 |
drochner | fix sigwaitinfo/sigtimedwait: -allow NULL "info" pointer -return signal number
|
1.26 |
| 19-Jan-2010 |
pooka | branches: 1.26.2; 1.26.4; Get rid of last "easy" kernel symbols starting with __: __assert -> kern_assert __sigtimedwait1 -> sigtimedwait1 __wdstart -> wdstart1
The rest are MD and/or shared with userspace, so they will require a little more involvement than what is available for this quick "ride the 5.99.24 bump" action.
|
1.25 |
| 20-Dec-2009 |
rmind | signal(9) code: add some comments, improve/fix wrong ones. While here, kill trailing whitespaces, wrap long lines, etc. No functional changes intended.
|
1.24 |
| 19-Dec-2009 |
rmind | sigtimedwait: fix a memory leak (which happens since newlock2 times). Allocate ksiginfo on stack since it is safe and sigget() assumes that it is not allocated from pool (pending signals via sigput()/sigget() "mill" should be dynamically allocated, however). Might be useful to revisit later.
Likely the cause of PR/40750 and indirect cause of PR/39283.
|
1.23 |
| 29-Mar-2009 |
christos | - use itimespecfix to detect invalid timespecs - use tstohz instead of mstohz to prevent overflow.
|
1.22 |
| 29-Mar-2009 |
christos | PR/41094: Matteo Beccati: sigtimedwait returns EAGAIN instead of EINVAL if timeout is invalid
|
1.21 |
| 11-Jan-2009 |
christos | branches: 1.21.2; merge christos-time_t
|
1.20 |
| 25-Nov-2008 |
ad | sigaction1: we need to remember if the sigcontext method may be useable, because libc can use it even if siginfo is available.
Changes are needed in libc to stop this being a performance penalty but they will come later.
|
1.19 |
| 19-Nov-2008 |
ad | Make the emulations, exec formats, coredump, NFS, and the NFS server into modules. By and large this commit:
- shuffles header files and ifdefs - splits code out where necessary to be modular - adds module glue for each of the components - adds/replaces hooks for things that can be installed at runtime
|
1.18 |
| 14-Nov-2008 |
ad | - Move some more compat code into sys/compat. - Split 4.3BSD ifioctl stuff into its own file. - Remove some ifdefs that include small fragments of vfs compat code which are difficult to relocate elsewhere.
|
1.17 |
| 15-Oct-2008 |
wrstuden | branches: 1.17.2; 1.17.4; Merge wrstuden-revivesa into HEAD.
|
1.16 |
| 25-Jun-2008 |
ad | branches: 1.16.2; sigpending1: don't subtract the sigmask (!!).
|
1.15 |
| 28-Apr-2008 |
martin | branches: 1.15.2; 1.15.4; Remove clause 3 and 4 from TNF licenses
|
1.14 |
| 24-Apr-2008 |
ad | branches: 1.14.2; Merge proc::p_mutex and proc::p_smutex into a single adaptive mutex, since 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.
|
1.13 |
| 24-Apr-2008 |
ad | Network protocol interrupts can now block on locks, so merge the globals 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.
|
1.12 |
| 19-Feb-2008 |
yamt | branches: 1.12.6; 1.12.8; 1.12.10; sigpause -> sigsuspend in comments.
|
1.11 |
| 23-Jan-2008 |
elad | Forgot to commit these two as well. Spotted by hannken@.
Adapt to "CAN" removal.
|
1.10 |
| 02-Jan-2008 |
ad | Merge vmlocking2 to head.
|
1.9 |
| 20-Dec-2007 |
dsl | 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.8 |
| 09-Jul-2007 |
ad | branches: 1.8.8; 1.8.14; 1.8.16; 1.8.20; Merge some of the less invasive changes from the vmlocking branch:
- kthread, callout, devsw API changes - select()/poll() improvements - miscellaneous MT safety improvements
|
1.7 |
| 09-Mar-2007 |
ad | branches: 1.7.2; 1.7.4; - Make the proclist_lock a mutex. The write:read ratio is unfavourable, and mutexes are cheaper use than RW locks. - LOCK_ASSERT -> KASSERT in some places. - Hold proclist_lock/kernel_lock longer in a couple of places.
|
1.6 |
| 27-Feb-2007 |
ad | Further avoid unnecessary trips through lwp_userret()/issignal().
|
1.5 |
| 22-Feb-2007 |
thorpej | branches: 1.5.2; TRUE -> true, FALSE -> false
|
1.4 |
| 17-Feb-2007 |
pavel | Change the process/lwp flags seen by userland via sysctl back to the P_*/L_* naming convention, and rename the in-kernel flags to avoid conflict. (P_ -> PK_, L_ -> LW_ ). Add back the (now unused) LSDEAD constant.
Restores source compatibility with pre-newlock2 tools like ps or top.
Reviewed by Andrew Doran.
|
1.3 |
| 10-Feb-2007 |
ad | branches: 1.3.2; A quick hack to get things building again: put back the SA system calls with no arguments, and alias them to sys_nosys. To be revisited.
|
1.2 |
| 09-Feb-2007 |
ad | Merge newlock2 to head.
|
1.1 |
| 21-Oct-2006 |
ad | branches: 1.1.2; file sys_sig.c was initially added on branch newlock2.
|
1.1.2.13 |
| 06-Feb-2007 |
yamt | __sigtimedwait1: fix use-after-free.
|
1.1.2.12 |
| 05-Feb-2007 |
ad | - When clearing signals dequeue siginfo first and free later, once outside the lock permiter. - Push kernel_lock back in a a couple of places. - Adjust limcopy() to be MP safe (this needs redoing). - Fix a couple of bugs noticed along the way. - Catch up with condvar changes.
|
1.1.2.11 |
| 04-Feb-2007 |
ad | Fix a comment.
|
1.1.2.10 |
| 04-Feb-2007 |
ad | o sigtimedwait1(): don't allocate the waitset every time. This gets called often enough to justify stashing it in struct lwp. o Push kernel_lock back in a few places.
|
1.1.2.9 |
| 30-Jan-2007 |
ad | Remove support for SA. Ok core@.
|
1.1.2.8 |
| 28-Jan-2007 |
ad | - Remove the last use of mtsleep() - sched_pause() -> kpause()
|
1.1.2.7 |
| 27-Jan-2007 |
ad | - Job control shouldn't affect LWPs sleeping interruptably. - Remove another use of mtsleep().
|
1.1.2.6 |
| 16-Jan-2007 |
ad | Fix a race between sigtimedwait()/sigunwait().
|
1.1.2.5 |
| 29-Dec-2006 |
ad | Checkpoint work in progress.
|
1.1.2.4 |
| 18-Nov-2006 |
ad | Sync with head.
|
1.1.2.3 |
| 17-Nov-2006 |
ad | Checkpoint work in progress.
|
1.1.2.2 |
| 24-Oct-2006 |
ad | - Redo LWP locking slightly and fix some races. - Fix some locking botches. - Make signal mask / stack per-proc for SA processes. - Add _lwp_kill().
|
1.1.2.1 |
| 21-Oct-2006 |
ad | - Split core dump, LWP syscalls and signal syscalls into their own files. - Checkpoint work in progress on locking & per-LWP signals.
|
1.3.2.2 |
| 12-Mar-2007 |
rmind | Sync with HEAD.
|
1.3.2.1 |
| 27-Feb-2007 |
yamt | - sync with head. - move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.
|
1.5.2.6 |
| 27-Feb-2008 |
yamt | sync with head.
|
1.5.2.5 |
| 04-Feb-2008 |
yamt | sync with head.
|
1.5.2.4 |
| 21-Jan-2008 |
yamt | sync with head
|
1.5.2.3 |
| 03-Sep-2007 |
yamt | sync with head.
|
1.5.2.2 |
| 26-Feb-2007 |
yamt | sync with head.
|
1.5.2.1 |
| 22-Feb-2007 |
yamt | file sys_sig.c was added on branch yamt-lazymbuf on 2007-02-26 09:11:17 +0000
|
1.7.4.1 |
| 11-Jul-2007 |
mjf | Sync with head.
|
1.7.2.2 |
| 21-Mar-2007 |
ad | GC the simplelock/spinlock debugging stuff.
|
1.7.2.1 |
| 13-Mar-2007 |
ad | Pull in the initial set of changes for the vmlocking branch.
|
1.8.20.2 |
| 23-Jan-2008 |
bouyer | Sync with HEAD.
|
1.8.20.1 |
| 02-Jan-2008 |
bouyer | Sync with HEAD
|
1.8.16.2 |
| 26-Dec-2007 |
ad | Sync with head.
|
1.8.16.1 |
| 04-Dec-2007 |
ad | Pull the vmlocking changes into a new branch.
|
1.8.14.1 |
| 18-Feb-2008 |
mjf | Sync with HEAD.
|
1.8.8.2 |
| 23-Mar-2008 |
matt | sync with HEAD
|
1.8.8.1 |
| 09-Jan-2008 |
matt | sync with HEAD
|
1.12.10.1 |
| 18-May-2008 |
yamt | sync with head.
|
1.12.8.4 |
| 27-Dec-2008 |
christos | merge with head.
|
1.12.8.3 |
| 20-Nov-2008 |
christos | merge with head.
|
1.12.8.2 |
| 01-Nov-2008 |
christos | Sync with head.
|
1.12.8.1 |
| 29-Mar-2008 |
christos | Welcome to the time_t=long long dev_t=uint64_t branch.
|
1.12.6.3 |
| 17-Jan-2009 |
mjf | Sync with HEAD.
|
1.12.6.2 |
| 29-Jun-2008 |
mjf | Sync with HEAD.
|
1.12.6.1 |
| 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.14.2.5 |
| 09-Oct-2010 |
yamt | sync with head
|
1.14.2.4 |
| 11-Aug-2010 |
yamt | sync with head.
|
1.14.2.3 |
| 11-Mar-2010 |
yamt | sync with head
|
1.14.2.2 |
| 04-May-2009 |
yamt | sync with head.
|
1.14.2.1 |
| 16-May-2008 |
yamt | sync with head.
|
1.15.4.1 |
| 27-Jun-2008 |
simonb | Sync with head.
|
1.15.2.5 |
| 18-Sep-2008 |
wrstuden | Sync with wrstuden-revivesa-base-2.
|
1.15.2.4 |
| 28-May-2008 |
wrstuden | Adjust to how we're handling l_mask for SA processes.
|
1.15.2.3 |
| 23-May-2008 |
wrstuden | SA processes can only have one sigwaiter.
|
1.15.2.2 |
| 14-May-2008 |
wrstuden | Per discussion with ad at n dot o, revert signal mask handling changes.
The l_sigstk changes are most likely totally un-needed as SA will never use a signal stack - we send an upcall (or will as other diffs are brought in).
The l_sigmask changes were too controvertial. In all honesty, I think it's probably best to revert them. The main reason they were there is the fact that in an SA process, we don't mask signals per kernel thread, we mask them per user thread. In the kernel, we want them all to get turned into upcalls. Thus the normal state of l_sigmask in an SA process is for it to always be empty.
While we are in the process of delivering a signal, we want to temporarily mask a signal (so we don't recursively exhaust our upcall stacks). However signal delivery is rare (important, but rare), and delivering back-to-back signals is even rarer. So rather than cause every user of a signal mask to be prepared for this very rare case, we will just add a second check later in the signal delivery code. Said change is not in this diff.
This also un-compensates all of our compatability code for dealing with SA. SA is a NetBSD-specific thing, so there's no need for Irix, Linux, Solaris, SVR4 and so on to cope with it.
As previously, everything other than kern_sa.c compiles in i386 GENERIC as of this checkin. I will switch to ALL soon for compile testing.
|
1.15.2.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.16.2.2 |
| 13-Dec-2008 |
haad | Update haad-dm branch to haad-dm-base2.
|
1.16.2.1 |
| 19-Oct-2008 |
haad | Sync with HEAD.
|
1.17.4.4 |
| 16-Feb-2011 |
bouyer | Pull up following revision(s) (requested by joerg in ticket #1556): sys/compat/irix/irix_signal.c: revision 1.56 sys/compat/svr4/svr4_signal.c: revision 1.65 sys/compat/netbsd32/netbsd32_signal.c: revision 1.35 sys/kern/sys_sig.c: revision 1.31 Explicitly initialize ucontext before calling getmcontext.
|
1.17.4.3 |
| 07-Jan-2010 |
snj | Pull up following revision(s) (requested by rmind in ticket #1199): sys/kern/sys_sig.c: revision 1.24 sigtimedwait: fix a memory leak (which happens since newlock2 times). Allocate ksiginfo on stack since it is safe and sigget() assumes that it is not allocated from pool (pending signals via sigput()/sigget() "mill" should be dynamically allocated, however). Might be useful to revisit later. Likely the cause of PR/40750 and indirect cause of PR/39283.
|
1.17.4.2 |
| 01-Apr-2009 |
snj | branches: 1.17.4.2.2; 1.17.4.2.4; Pull up following revision(s) (requested by christos in ticket #638): sys/kern/sys_sig.c: revision 1.23 - use itimespecfix to detect invalid timespecs - use tstohz instead of mstohz to prevent overflow.
|
1.17.4.1 |
| 01-Apr-2009 |
snj | Pull up following revision(s) (requested by rmind in ticket #632): sys/kern/sys_sig.c: revision 1.22 PR/41094: Matteo Beccati: sigtimedwait returns EAGAIN instead of EINVAL if timeout is invalid
|
1.17.4.2.4.1 |
| 21-Apr-2010 |
matt | sync to netbsd-5
|
1.17.4.2.2.1 |
| 07-Jan-2010 |
snj | Pull up following revision(s) (requested by rmind in ticket #1199): sys/kern/sys_sig.c: revision 1.24 sigtimedwait: fix a memory leak (which happens since newlock2 times). Allocate ksiginfo on stack since it is safe and sigget() assumes that it is not allocated from pool (pending signals via sigput()/sigget() "mill" should be dynamically allocated, however). Might be useful to revisit later. Likely the cause of PR/40750 and indirect cause of PR/39283.
|
1.17.2.2 |
| 28-Apr-2009 |
skrll | Sync with HEAD.
|
1.17.2.1 |
| 19-Jan-2009 |
skrll | Sync with HEAD.
|
1.21.2.1 |
| 13-May-2009 |
jym | Sync with HEAD.
Commit is split, to avoid a "too many arguments" protocol error.
|
1.26.4.4 |
| 31-May-2011 |
rmind | sync with head
|
1.26.4.3 |
| 05-Mar-2011 |
rmind | sync with head
|
1.26.4.2 |
| 03-Jul-2010 |
rmind | sync with head
|
1.26.4.1 |
| 30-May-2010 |
rmind | sync with head
|
1.26.2.2 |
| 22-Oct-2010 |
uebayasi | Sync with HEAD (-D20101022).
|
1.26.2.1 |
| 17-Aug-2010 |
uebayasi | Sync with HEAD.
|
1.30.4.2 |
| 05-Mar-2011 |
bouyer | Sync with HEAD
|
1.30.4.1 |
| 08-Feb-2011 |
bouyer | Sync with HEAD
|
1.30.2.1 |
| 06-Jun-2011 |
jruoho | Sync with HEAD.
|
1.35.4.4 |
| 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.35.4.3 |
| 23-Jan-2013 |
yamt | sync with head
|
1.35.4.2 |
| 30-Oct-2012 |
yamt | sync with head
|
1.35.4.1 |
| 17-Apr-2012 |
yamt | sync with head
|
1.36.6.1 |
| 21-Jul-2012 |
riz | Pull up following revision(s) (requested by christos in ticket #430): sys/kern/sys_sig.c: revision 1.38 From Roger Pau Monne: kill(2) called for a zombie process should return 0, according to: http://pubs.opengroup.org/onlinepubs/9699919799/functions/kill.html
|
1.36.4.1 |
| 24-Feb-2012 |
mrg | sync to -current.
|
1.38.2.4 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.38.2.3 |
| 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.38.2.2 |
| 23-Jun-2013 |
tls | resync from head
|
1.38.2.1 |
| 25-Feb-2013 |
tls | resync with head
|
1.41.6.1 |
| 18-May-2014 |
rmind | sync with head
|
1.42.10.1 |
| 12-Dec-2018 |
martin | Pull up following revision(s) (requested by maxv in ticket #1664):
sys/kern/sys_sig.c: revision 1.47
Fix kernel info leak, 4 bytes of padding in struct _ksiginfo. Maybe we should just set _pad to zero on LP64?
+ Possible info leak: [len=40, leaked=4] | #0 0xffffffff80baf397 in kleak_copyout | #1 0xffffffff80bda817 in sigtimedwait1 | #2 0xffffffff80bdab95 in sys_____sigtimedwait50 | #3 0xffffffff80259c42 in syscall
|
1.42.6.1 |
| 12-Dec-2018 |
martin | Pull up following revision(s) (requested by maxv in ticket #1664):
sys/kern/sys_sig.c: revision 1.47
Fix kernel info leak, 4 bytes of padding in struct _ksiginfo. Maybe we should just set _pad to zero on LP64?
+ Possible info leak: [len=40, leaked=4] | #0 0xffffffff80baf397 in kleak_copyout | #1 0xffffffff80bda817 in sigtimedwait1 | #2 0xffffffff80bdab95 in sys_____sigtimedwait50 | #3 0xffffffff80259c42 in syscall
|
1.42.4.1 |
| 12-Dec-2018 |
martin | Pull up following revision(s) (requested by maxv in ticket #1664):
sys/kern/sys_sig.c: revision 1.47
Fix kernel info leak, 4 bytes of padding in struct _ksiginfo. Maybe we should just set _pad to zero on LP64?
+ Possible info leak: [len=40, leaked=4] | #0 0xffffffff80baf397 in kleak_copyout | #1 0xffffffff80bda817 in sigtimedwait1 | #2 0xffffffff80bdab95 in sys_____sigtimedwait50 | #3 0xffffffff80259c42 in syscall
|
1.43.2.3 |
| 05-Oct-2016 |
skrll | Sync with HEAD
|
1.43.2.2 |
| 27-Dec-2015 |
skrll | Sync with HEAD (as of 26th Dec)
|
1.43.2.1 |
| 22-Sep-2015 |
skrll | Sync with HEAD
|
1.45.2.1 |
| 06-Aug-2016 |
pgoyette | Sync with HEAD
|
1.46.16.2 |
| 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|
1.46.16.1 |
| 10-Jun-2019 |
christos | Sync with HEAD
|
1.46.14.1 |
| 26-Dec-2018 |
pgoyette | Sync with HEAD, resolve a few conflicts
|
1.46.8.1 |
| 12-Dec-2018 |
martin | Pull up following revision(s) (requested by maxv in ticket #1134):
sys/kern/sys_sig.c: revision 1.47
Fix kernel info leak, 4 bytes of padding in struct _ksiginfo. Maybe we should just set _pad to zero on LP64?
+ Possible info leak: [len=40, leaked=4] | #0 0xffffffff80baf397 in kleak_copyout | #1 0xffffffff80bda817 in sigtimedwait1 | #2 0xffffffff80bdab95 in sys_____sigtimedwait50 | #3 0xffffffff80259c42 in syscall
|
1.47.4.4 |
| 07-Aug-2024 |
martin | Pull up following revision(s) (requested by kre in ticket #1859):
sys/kern/kern_proc.c: revision 1.276 (via patch) sys/kern/kern_ktrace.c: revision 1.185 (via patch) sys/kern/sys_sig.c: revision 1.58 (via patch) sys/kern/kern_descrip.c: revision 1.263 (via patch) lib/libc/compat-43/killpg.c: revision 1.10 sys/kern/tty.c: revision 1.313 (via patch) tests/lib/libc/sys/t_kill.c: revision 1.2
PR kern/58425 -- Disallow INT_MIN as a (negative) pid arg. Since -INT_MIN is undefined, and to point of negative pid args is to negate them, and use the result as a pgrp id instead, we need to avoid accidentally negating INT_MIN.
Since pid_t is just an integral type, of unspecified width, when testing pid_t value test for <= INT_MIN (or > INT_MIN sometimes) rather than == INT_MIN. When testing int values, just == INT_MIN is all that is needed, < INT_MIN cannot occur.
tests/lib/libc/sys/t_kill: Test kill(INT_MIN, ...) fails with ESRCH. PR kern/58425
|
1.47.4.3 |
| 11-Nov-2019 |
martin | Pull up following revision(s) (requested by pgoyette in ticket #413):
sys/kern/kern_core.c: revision 1.27 (patch) sys/kern/kern_sig.c: revision 1.377 (patch) sys/kern/kern_sig.c: revision 1.378 (patch) sys/kern/sys_sig.c: revision 1.50 sys/kern/sys_ptrace_common.c: revision 1.70 sys/kern/compat_stub.c: revision 1.16 sys/compat/common/kern_sig_16.c: revision 1.4 sys/kern/compat_stub.c: revision 1.17 sys/sys/compat_stub.h: revision 1.20 sys/sys/signalvar.h: revision 1.98 sys/sys/compat_stub.h: revision 1.21 sys/sys/signalvar.h: revision 1.99
Convert the sendsig_sigcontext_16 function pointer to use the new compat_hook mechanism. XXX Despite being a kernel<-->module abi change, this should be XXX pulled up to -9
-
Convert the coredump_vec modular function pointer to use the new compat_hook mechanism. XXX Should be pulled up to -9 despite the kernel <--> module ABI XXX change.
|
1.47.4.2 |
| 10-Nov-2019 |
martin | Pull up following revision(s) (requested by pgoyette in ticket #412):
sys/kern/sys_sig.c: revision 1.49
If we need to handle old-version signals, load the version-specific "compat_16" module. There is no longer a monolithic "compat" module! XXX pullup-9 needed
|
1.47.4.1 |
| 21-Oct-2019 |
martin | Pull up following revision(s) (requested by maxv in ticket #353):
sys/kern/sys_sig.c: revision 1.48 sys/sys/signalvar.h: revision 1.94 sys/sys/signalvar.h: revision 1.95
Introduce sigaction_copy(), to copy sigaction structures without padding, and use it in sigaction1(). This is to fix info leaks all at once in the signal functions.
-
Fix libkvm build.
|
1.56.4.1 |
| 07-Aug-2024 |
martin | Pull up following revision(s) (requested by kre in ticket #773):
sys/kern/kern_proc.c: revision 1.276 sys/kern/kern_ktrace.c: revision 1.185 sys/kern/sys_sig.c: revision 1.58 sys/kern/kern_descrip.c: revision 1.263 lib/libc/compat-43/killpg.c: revision 1.10 sys/kern/tty.c: revision 1.313 tests/lib/libc/sys/t_kill.c: revision 1.2
PR kern/58425 -- Disallow INT_MIN as a (negative) pid arg.
Since -INT_MIN is undefined, and to point of negative pid args is to negate them, and use the result as a pgrp id instead, we need to avoid accidentally negating INT_MIN.
Since pid_t is just an integral type, of unspecified width, when testing pid_t value test for <= INT_MIN (or > INT_MIN sometimes) rather than == INT_MIN. When testing int values, just == INT_MIN is all that is needed, < INT_MIN cannot occur.
tests/lib/libc/sys/t_kill: Test kill(INT_MIN, ...) fails with ESRCH. PR kern/58425
|
1.57.6.1 |
| 02-Aug-2025 |
perseant | Sync with HEAD
|