diff options
author | sobomax <sobomax@FreeBSD.org> | 2005-03-18 11:08:55 +0000 |
---|---|---|
committer | sobomax <sobomax@FreeBSD.org> | 2005-03-18 11:08:55 +0000 |
commit | 8d935d10906f8e305a79cccc539ee47ceb4156c4 (patch) | |
tree | 72cbdb39c65ac6c52684e8fa9804a1dbae14c390 | |
parent | f3f8ca48da4b7adf7c0840b51bcbd4f19c8573c3 (diff) | |
download | FreeBSD-src-8d935d10906f8e305a79cccc539ee47ceb4156c4.zip FreeBSD-src-8d935d10906f8e305a79cccc539ee47ceb4156c4.tar.gz |
Linuxthreads uses not only signal 32 but several signals >= 32.
PR: kern/72922
Submitted by: Andriy Gapon <avg@icyb.net.ua>
-rw-r--r-- | sys/kern/kern_prot.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/sys/kern/kern_prot.c b/sys/kern/kern_prot.c index 9c6cd09..174d87f 100644 --- a/sys/kern/kern_prot.c +++ b/sys/kern/kern_prot.c @@ -1524,15 +1524,15 @@ p_cansignal(struct thread *td, struct proc *p, int signum) if (signum == SIGCONT && td->td_proc->p_session == p->p_session) return (0); /* - * Some compat layers use SIGTHR for communications between - * different kernel threads of the same process, so that - * they are expecting that it's always possible to deliver - * it, even for suid applications where cr_cansignal() can + * Some compat layers use SIGTHR and higher signals for + * communication between different kernel threads of the same + * process, so that they expect that it's always possible to + * deliver them, even for suid applications where cr_cansignal() can * deny such ability for security consideration. It should be * 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 && + if (signum >= SIGTHR && td->td_proc->p_leader != NULL && td->td_proc->p_leader == p->p_leader) return (0); |