diff options
author | jhb <jhb@FreeBSD.org> | 2002-05-19 00:14:50 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2002-05-19 00:14:50 +0000 |
commit | b6d6774e76bd44035dc47ff6e7c3fdb44961a142 (patch) | |
tree | 0642e3c6447c397fe8442630e46788930550bb42 /sys/fs/procfs/procfs.c | |
parent | 930f7599edae9acfd7bada4b5e71817067c0ec88 (diff) | |
download | FreeBSD-src-b6d6774e76bd44035dc47ff6e7c3fdb44961a142.zip FreeBSD-src-b6d6774e76bd44035dc47ff6e7c3fdb44961a142.tar.gz |
Change p_can{debug,see,sched,signal}()'s first argument to be a thread
pointer instead of a proc pointer and require the process pointed to
by the second argument to be locked. We now use the thread ucred reference
for the credential checks in p_can*() as a result. p_canfoo() should now
no longer need Giant.
Diffstat (limited to 'sys/fs/procfs/procfs.c')
-rw-r--r-- | sys/fs/procfs/procfs.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/fs/procfs/procfs.c b/sys/fs/procfs/procfs.c index 6d6162e..8083ba6 100644 --- a/sys/fs/procfs/procfs.c +++ b/sys/fs/procfs/procfs.c @@ -107,6 +107,7 @@ procfs_attr(PFS_ATTR_ARGS) vap->va_mode = 0600; /* p is locked by caller */ + PROC_LOCK_ASSERT(p, MA_OWNED); vap->va_uid = p->p_ucred->cr_uid; vap->va_gid = p->p_ucred->cr_gid; @@ -130,8 +131,9 @@ procfs_notsystem(PFS_VIS_ARGS) int procfs_candebug(PFS_VIS_ARGS) { + PROC_LOCK_ASSERT(p, MA_OWNED); return ((p->p_flag & P_SYSTEM) == 0 && - p_candebug(td->td_proc, p) == 0); + p_candebug(td, p) == 0); } /* |