diff options
author | sobomax <sobomax@FreeBSD.org> | 2005-03-18 13:33:18 +0000 |
---|---|---|
committer | sobomax <sobomax@FreeBSD.org> | 2005-03-18 13:33:18 +0000 |
commit | 9f5986e4229b8e795da60586edc32d430a85f5fd (patch) | |
tree | 93d0e23936c3256f9d77165ce998289148c2352a /sys/kern/kern_prot.c | |
parent | e90a54cc903b2b05973239664199fe0c8fd34213 (diff) | |
download | FreeBSD-src-9f5986e4229b8e795da60586edc32d430a85f5fd.zip FreeBSD-src-9f5986e4229b8e795da60586edc32d430a85f5fd.tar.gz |
Impose the upper limit on signals that are allowed between kernel threads
in set[ug]id program for compatibility with Linux. Linuxthreads uses
4 signals from SIGRTMIN to SIGRTMIN+3.
Pointed out by: rwatson
Diffstat (limited to 'sys/kern/kern_prot.c')
-rw-r--r-- | sys/kern/kern_prot.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/kern/kern_prot.c b/sys/kern/kern_prot.c index 174d87f..d867d53 100644 --- a/sys/kern/kern_prot.c +++ b/sys/kern/kern_prot.c @@ -1532,8 +1532,8 @@ p_cansignal(struct thread *td, struct proc *p, int signum) * pretty safe to do since the only way to create two processes * with the same p_leader is via rfork(2). */ - if (signum >= SIGTHR && td->td_proc->p_leader != NULL && - td->td_proc->p_leader == p->p_leader) + if (td->td_proc->p_leader != NULL && signum >= SIGTHR && + signum < SIGTHR + 4 && td->td_proc->p_leader == p->p_leader) return (0); return (cr_cansignal(td->td_ucred, p, signum)); |