summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsobomax <sobomax@FreeBSD.org>2005-03-18 11:08:55 +0000
committersobomax <sobomax@FreeBSD.org>2005-03-18 11:08:55 +0000
commit8d935d10906f8e305a79cccc539ee47ceb4156c4 (patch)
tree72cbdb39c65ac6c52684e8fa9804a1dbae14c390
parentf3f8ca48da4b7adf7c0840b51bcbd4f19c8573c3 (diff)
downloadFreeBSD-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.c10
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);
OpenPOWER on IntegriCloud