summaryrefslogtreecommitdiffstats
path: root/sys/kern/kern_prot.c
diff options
context:
space:
mode:
authorsobomax <sobomax@FreeBSD.org>2005-02-13 17:37:20 +0000
committersobomax <sobomax@FreeBSD.org>2005-02-13 17:37:20 +0000
commit52ae2ac0b9537da952af95dbcdec320bb0fde83b (patch)
treede46110994a0c19fc18c0e1c594389839015456e /sys/kern/kern_prot.c
parent29d152dbfd1048f4b7757558292eb64dc98f0d8b (diff)
downloadFreeBSD-src-52ae2ac0b9537da952af95dbcdec320bb0fde83b.zip
FreeBSD-src-52ae2ac0b9537da952af95dbcdec320bb0fde83b.tar.gz
Backout previous change (disabling of security checks for signals delivered
in emulation layers), since it appears to be too broad. Requested by: rwatson
Diffstat (limited to 'sys/kern/kern_prot.c')
-rw-r--r--sys/kern/kern_prot.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/sys/kern/kern_prot.c b/sys/kern/kern_prot.c
index d989ab3..21f277f 100644
--- a/sys/kern/kern_prot.c
+++ b/sys/kern/kern_prot.c
@@ -1427,7 +1427,7 @@ SYSCTL_INT(_security_bsd, OID_AUTO, conservative_signals, CTLFLAG_RW,
* References: cred and proc must be valid for the lifetime of the call.
*/
int
-cr_cansignal(struct ucred *cred, struct proc *proc, int signum, int pedantic)
+cr_cansignal(struct ucred *cred, struct proc *proc, int signum)
{
int error;
@@ -1453,7 +1453,7 @@ cr_cansignal(struct ucred *cred, struct proc *proc, int signum, int pedantic)
* bit on the target process. If the bit is set, then additional
* restrictions are placed on the set of available signals.
*/
- if (conservative_signals && (proc->p_flag & P_SUGID) && pedantic) {
+ if (conservative_signals && (proc->p_flag & P_SUGID)) {
switch (signum) {
case 0:
case SIGKILL:
@@ -1467,6 +1467,7 @@ cr_cansignal(struct ucred *cred, struct proc *proc, int signum, int pedantic)
case SIGHUP:
case SIGUSR1:
case SIGUSR2:
+ case SIGTHR:
/*
* Generally, permit job and terminal control
* signals.
@@ -1507,7 +1508,7 @@ cr_cansignal(struct ucred *cred, struct proc *proc, int signum, int pedantic)
* References: td and p must be valid for the lifetime of the call
*/
int
-p_cansignal(struct thread *td, struct proc *p, int signum, int pedantic)
+p_cansignal(struct thread *td, struct proc *p, int signum)
{
KASSERT(td == curthread, ("%s: td not curthread", __func__));
@@ -1524,7 +1525,7 @@ p_cansignal(struct thread *td, struct proc *p, int signum, int pedantic)
if (signum == SIGCONT && td->td_proc->p_session == p->p_session)
return (0);
- return (cr_cansignal(td->td_ucred, p, signum, pedantic));
+ return (cr_cansignal(td->td_ucred, p, signum));
}
/*-
OpenPOWER on IntegriCloud