summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
Diffstat (limited to 'sys')
-rw-r--r--sys/kern/kern_prot.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/kern/kern_prot.c b/sys/kern/kern_prot.c
index ee66924..744ac72 100644
--- a/sys/kern/kern_prot.c
+++ b/sys/kern/kern_prot.c
@@ -1082,8 +1082,10 @@ p_candebug(const struct proc *p1, const struct proc *p2, int *privused)
/* not owned by you, has done setuid (unless you're root) */
/* add a CAP_SYS_PTRACE here? */
- if ((p1->p_cred->p_ruid != p2->p_cred->p_ruid) ||
- (p2->p_flag & P_SUGID)) {
+ if (p1->p_cred->pc_ucred->cr_uid != p2->p_cred->p_ruid ||
+ p1->p_cred->p_ruid != p2->p_cred->p_ruid ||
+ p1->p_cred->p_svuid == p2->p_cred->p_ruid ||
+ p2->p_flag & P_SUGID) {
if ((error = suser_xxx(0, p1, PRISON_ROOT)))
return (error);
if (privused != NULL)
OpenPOWER on IntegriCloud