diff options
Diffstat (limited to 'sys/kern/sysv_ipc.c')
-rw-r--r-- | sys/kern/sysv_ipc.c | 6 |
1 files changed, 4 insertions, 2 deletions
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); } |