From c532c3bf88b0296935bf9293accb407de43e240c Mon Sep 17 00:00:00 2001 From: rwatson Date: Thu, 1 Nov 2001 20:56:57 +0000 Subject: o Move suser() calls in kern/ to using suser_xxx() with an explicit credential selection, rather than reference via a thread or process pointer. This is part of a gradual migration to suser() accepting a struct ucred instead of a struct proc, simplifying the reference and locking semantics of suser(). Obtained from: TrustedBSD Project --- sys/kern/sysv_ipc.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'sys/kern/sysv_ipc.c') diff --git a/sys/kern/sysv_ipc.c b/sys/kern/sysv_ipc.c index 70e2f4b..89ab7d2 100644 --- a/sys/kern/sysv_ipc.c +++ b/sys/kern/sysv_ipc.c @@ -94,7 +94,8 @@ ipcperm(td, perm, mode) /* Check for user match. */ if (cred->cr_uid != perm->cuid && cred->cr_uid != perm->uid) { if (mode & IPC_M) - return (suser(p) == 0 ? 0 : EPERM); + return (suser_xxx(p->p_ucred, NULL, 0) == 0 ? 0 : + EPERM); /* Check for group match. */ mode >>= 3; if (!groupmember(perm->gid, cred) && @@ -105,5 +106,6 @@ ipcperm(td, perm, mode) if (mode & IPC_M) return (0); - return ((mode & perm->mode) == mode || suser(p) == 0 ? 0 : EACCES); + return ((mode & perm->mode) == mode || + suser_xxx(p->p_ucred, NULL, 0) == 0 ? 0 : EACCES); } -- cgit v1.1